react-native-crypto-js
v1.0.0
Published
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.
Downloads
229,943
Maintainers
Readme
React Native CryptoJS
React native javascript library of crypto standards.
Install
npm install react-native-crypto-js
Usage
ES6 import for typical API call signing use case:
var AES = require("react-native-crypto-js").AES;
var SHA256 = require("react-native-crypto-js").SHA256;
...
console.log(SHA256("Message"));
API
See: https://code.google.com/p/crypto-js
AES Encryption
Plain text encryption
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
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}]
List of Algorithms
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
Reporting Issues
Contributing
Check the issues and pull requests to see if the idea or bug you want to share about is already present. If you don't see it, do one of the following:
- If it is a small change, just fork the project and create a pull request.
- If it is major, start by opening an issue.
Help Wanted!
If you're familiar with React Native, and you'd like to see this project progress, please consider contributing.
License
Please see LICENSE for more info.