Package Exports
- @akanass/rx-crypto
- @akanass/rx-crypto/index.js
- @akanass/rx-crypto/operators/aes/decryptWithAesKey
- @akanass/rx-crypto/operators/aes/decryptWithAesKey.js
- @akanass/rx-crypto/operators/aes/encryptWithAesKey
- @akanass/rx-crypto/operators/aes/encryptWithAesKey.js
- @akanass/rx-crypto/operators/rsa/decryptPrivate
- @akanass/rx-crypto/operators/rsa/decryptPrivate.js
- @akanass/rx-crypto/operators/rsa/decryptPublic
- @akanass/rx-crypto/operators/rsa/decryptPublic.js
- @akanass/rx-crypto/operators/rsa/encryptPrivate
- @akanass/rx-crypto/operators/rsa/encryptPrivate.js
- @akanass/rx-crypto/operators/rsa/encryptPublic
- @akanass/rx-crypto/operators/rsa/encryptPublic.js
- @akanass/rx-crypto/operators/rsa/exportKey
- @akanass/rx-crypto/operators/rsa/exportKey.js
- @akanass/rx-crypto/operators/rsa/generateKeyPair
- @akanass/rx-crypto/operators/rsa/generateKeyPair.js
- @akanass/rx-crypto/operators/rsa/getKeySize
- @akanass/rx-crypto/operators/rsa/getKeySize.js
- @akanass/rx-crypto/operators/rsa/getMaxMessageSize
- @akanass/rx-crypto/operators/rsa/getMaxMessageSize.js
- @akanass/rx-crypto/operators/rsa/importKey
- @akanass/rx-crypto/operators/rsa/importKey.js
- @akanass/rx-crypto/operators/rsa/isEmptyKey
- @akanass/rx-crypto/operators/rsa/isEmptyKey.js
- @akanass/rx-crypto/operators/rsa/isPrivate
- @akanass/rx-crypto/operators/rsa/isPrivate.js
- @akanass/rx-crypto/operators/rsa/isPublic
- @akanass/rx-crypto/operators/rsa/isPublic.js
- @akanass/rx-crypto/operators/rsa/sign
- @akanass/rx-crypto/operators/rsa/sign.js
- @akanass/rx-crypto/operators/rsa/verify
- @akanass/rx-crypto/operators/rsa/verify.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@akanass/rx-crypto) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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, PEM, JWT and 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
yarn or npm it in your package.json
$ npm install --save @akanass/rx-crypto rxjs
or
$ yarn add @akanass/rx-crypto rxjs"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.
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
);API in Detail
We implemented some services and to see their details go to documentation folder:
- ./documentation/AES.md
- ./documentation/Hash.md
- ./documentation/JWT.md
- ./documentation/PEM.md
- ./documentation/RandomString.md
- ./documentation/RSA.md
Contributing
To set up your development environment:
- clone the repo to your workspace,
- in the shell
cdto the main folder, - hit
npm or yarn install, - 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.
Change History
- v2.2.0 (2021-10-08)
- Update packages' versions
- Latest
rxjsversion7.4.0
- v2.1.0 (2021-10-05)
- Update packages' versions
- Latest
rxjsversion7.3.1 - Update
operatorsto match with latestrxjsversion - Update tests
- v2.0.0 (2021-06-07)
- Update packages' versions
- Latest
rxjsversion7.1.0
- v1.1.0 (2021-01-31)
- Update packages' versions
- Fix tests
- Fix
tslint
- v1.0.0 (2019-08-27)
- Implementation of
librarywithAES,Hash,JWT,PEM,RandomStringandRSA - Implementation of
Observable'soperators forAESandRSAfeatures. - Related tests.
- Documentation.
- Implementation of
License
Copyright (c) 2021 Nicolas Jessel Licensed under the MIT license.