An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          




build


coveralls




Typescript logo


ReactiveX logo


# 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)