/react-native-crypto-js

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.

MIT LicenseMIT

React Native CryptoJS

React native javascript library of crypto js.

Install

npm install react-native-crypto-js --save

API

See: https://cryptojs.gitbook.io/docs/

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

Bugs | New Features

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.