Package Exports
- react-native-aes
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 (react-native-aes) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
react-native-aes
AES encryption/decryption in react native
Supported Ciphers
- AES-256-CBC
Usage
var AES = require('react-native-aes')
var Buffer = require('buffer').Buffer
var stringInput = 'hey ho'
var bufferInput = new Buffer(stringInput)
// sample key
var key = new Buffer('f0ki13SQeRpLQrqk73UxhBAI7vd35FgYrNkVybgBIxc=', 'base64')
var cipherName = 'AES-256-CBC'
AES.encryptWithCipher(
cipherName, // String
bufferInput, // Buffer (input data)
key, // AES key, e.g. 32 bytes of random data
function (err, encrypted) {
// "encrypted" is of the form
// {
// ciphertext: Buffer,
// iv: Buffer
// }
//
// you'll need both parts to decrypt
AES.decryptWithCipher(
cipherName, // String
encrypted.ciphertext, // Buffer (input data)
key,
encrypted.iv, // Buffer
function (err, plaintext) {
// plaintext is a Buffer
if (plaintext.toString() !== stringInput) {
throw new Error('time to report an issue!')
}
}
)
}
)