UNPKG

@akanass/rx-crypto

Version:

Crypto module provides some functions for security features like AES key, Key pair, RSA key, PKCS12, Certificate, PEM and more

130 lines (100 loc) 4.49 kB
<div style="margin-bottom:20px;"> <div style="line-height:60px"> <a href="https://travis-ci.org/akanass/rx-crypto.svg?branch=master"> <img src="https://travis-ci.org/akanass/rx-crypto.svg?branch=master" alt="build" /> </a> <a href="https://coveralls.io/github/akanass/rx-crypto?branch=master"> <img src="https://coveralls.io/repos/github/akanass/rx-crypto/badge.svg?branch=master" alt="coveralls" /> </a> </div> <div> <a href="https://www.typescriptlang.org/docs/tutorial.html"> <img src="https://cdn-images-1.medium.com/max/800/1*8lKzkDJVWuVbqumysxMRYw.png" align="right" alt="Typescript logo" width="50" height="50" style="border:none;" /> </a> <a href="http://reactivex.io/rxjs"> <img src="http://reactivex.io/assets/Rx_Logo_S.png" align="right" alt="ReactiveX logo" width="50" height="50" style="border:none;" /> </a> </div> </div> # Rx-Crypto `Crypto` library provides some functions for security features like `AES key`, `Key pair`, `PKCS12`, `RSA key`, `Certificate`, `JWT` and more. We use existing node modules to provide these functions: [NodeRSA](https://github.com/rzcoder/node-rsa), [PEM](https://github.com/Dexus/pem), [JWT](https://github.com/auth0/node-jsonwebtoken) and [RandomString](https://github.com/klughammer/node-randomstring) but we add `Observable` feature for asynchronous and stream processes. **All most important crypto features in only one library.** ## Table of contents * [Using rx-crypto library](#using-rx-crypto-library) * [Yarn or NPM it in your package.json](#yarn-or-npm-it-in-your-packagejson) * [Use it anywhere](#use-it-anywhere) * [API in Detail](#api-in-detail) * [Contributing](#contributing) * [Change History](#change-history) * [License](#license) ## Using rx-crypto library ### `yarn` or `npm` it in your `package.json` ```bash $ npm install --save @akanass/rx-crypto rxjs or $ yarn add @akanass/rx-crypto rxjs ``` ```javascript "dependencies": { "@akanass/rx-crypto": "^2.2.0", "rxjs": "^7.4.0", //... } //... ``` ### use it anywhere You can use `AES`, `Hash`, `PEM`, `RandomString`, `JWT` and `RSA` anywhere in your own library or script. ```javascript import { RSA, NodeRSA } from '@akanass/rx-crypto'; const rsa: RSA = new RSA(); rsa.createKey().subscribe( (k: NodeRSA) => console.log(k), // Show NodeRSA instance in console e => console.error(e) // Show error in console ); ``` [Back to top](#table-of-contents) ## API in Detail We implemented some services and to see their details go to documentation folder: * [./documentation/AES.md](https://github.com/akanass/rx-crypto/blob/master/documentation/AES.md) * [./documentation/Hash.md](https://github.com/akanass/rx-crypto/blob/master/documentation/Hash.md) * [./documentation/JWT.md](https://github.com/akanass/rx-crypto/blob/master/documentation/JWT.md) * [./documentation/PEM.md](https://github.com/akanass/rx-crypto/blob/master/documentation/PEM.md) * [./documentation/RandomString.md](https://github.com/akanass/rx-crypto/blob/master/documentation/RandomString.md) * [./documentation/RSA.md](https://github.com/akanass/rx-crypto/blob/master/documentation/RSA.md) [Back to top](#table-of-contents) ## Contributing To set up your development environment: 1. clone the repo to your workspace, 2. in the shell `cd` to the main folder, 3. hit `npm or yarn install`, 4. run `npm or yarn run test`. * It will lint the code and execute all tests. * The test coverage report can be viewed from `./coverage/lcov-report/index.html`. [Back to top](#table-of-contents) ## Change History * v2.2.0 (2021-10-08) * Update packages' versions * Latest `rxjs` version `7.4.0` * v2.1.0 (2021-10-05) * Update packages' versions * Latest `rxjs` version `7.3.1` * Update `operators` to match with latest `rxjs` version * Update tests * v2.0.0 (2021-06-07) * Update packages' versions * Latest `rxjs` version `7.1.0` * v1.1.0 (2021-01-31) * Update packages' versions * Fix tests * Fix `tslint` * v1.0.0 (2019-08-27) * Implementation of `library` with `AES`, `Hash`, `JWT`, `PEM`, `RandomString` and `RSA` * Implementation of `Observable's` operators for `AES` and `RSA` features. * Related tests. * Documentation. ## License Copyright (c) 2021 **Nicolas Jessel** Licensed under the [MIT license](https://github.com/akanass/rx-crypto/blob/next/LICENSE.md). [Back to top](#table-of-contents)