https://github.com/akanass/rx-crypto
rx-crypto library provides some functions for security features like AES key, Key pair, RSA key, PKCS12, Certificate, PEM and more
https://github.com/akanass/rx-crypto
aes crypto jwt observable openssl pem rsa rxjs7
Last synced: 3 months ago
JSON representation
rx-crypto library provides some functions for security features like AES key, Key pair, RSA key, PKCS12, Certificate, PEM and more
- Host: GitHub
- URL: https://github.com/akanass/rx-crypto
- Owner: akanass
- License: mit
- Created: 2019-07-24T08:13:27.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-08T23:20:18.000Z (over 2 years ago)
- Last Synced: 2025-06-23T03:05:10.506Z (3 months ago)
- Topics: aes, crypto, jwt, observable, openssl, pem, rsa, rxjs7
- Language: TypeScript
- Homepage:
- Size: 432 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 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 rxjsor
$ 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)