CryptoJS is a growing collection of standard and secure cryptographic algorithms implemented in JavaScript using best practices and patterns. They are fast, and they have a consistent and simple interface.
npm install react-native-crypto-jsReact native javascript library of crypto standards.
``bash`
npm install react-native-crypto-js
ES6 import for typical API call signing use case:
`javascript`
var AES = require("react-native-crypto-js").AES;
var SHA256 = require("react-native-crypto-js").SHA256;
...
console.log(SHA256("Message"));
See: https://code.google.com/p/crypto-js
#### Plain text encryption
`javascript
import CryptoJS from "react-native-crypto-js";
// Encrypt
let ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123').toString();
// Decrypt
let bytes = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');
let originalText = bytes.toString(CryptoJS.enc.Utf8);
console.log(originalText); // 'my message'
`
#### Object encryption
`javascript
import CryptoJS from "react-native-crypto-js";
let data = [{id: 1}, {id: 2}]
// Encrypt
let ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), 'secret key 123').toString();
// Decrypt
let bytes = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');
let decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));
console.log(decryptedData); // [{id: 1}, {id: 2}]
`
#### Hashers
- `MD5``
- SHA1``
- SHA256``
- SHA512``
- SHA224``
- SHA384``
- SHA3``
- RIPEMD160``
---
#### HMAC
- HmacMD5``
- HmacSHA1``
- HmacSHA256``
- HmacSHA224``
- HmacSHA512``
- HmacSHA384``
- HmacSHA3``
- HmacRIPEMD160``
---
#### PBKDF2
- PBKDF2``
---
#### Ciphers
- AES``
- DES``
- TripleDES``
- RC4``
- RC4Drop``
- Rabbit``
* If it is a small change, just fork the project and create a pull request.
* If it is major, start by opening an issue.
If you're familiar with React Native, and you'd like to see this project progress, please consider contributing.
Please see LICENSE for more info.