Javascript implementation of RNCryptor
npm install jscryptorJavascript implementation of RNCryptor
This implementation tries to be compatible with Rob Napier's Objective-C implementation of RNCryptor, It supports schema version 3.
This code is based on the PHP implementation of RNCryptor.
Buffer is returned, use .toString() to convert the result to whatever format you need.mcrypt library not used anymore. Thanks to @b00tsy.bash
npm install jscryptor
`Install on Windows
$3
VS2015+ (Community Edition works fine) is required.
Test
`bash
npm test
`Example
`js
// Example taken from https://github.com/RNCryptor/RNCryptor-php/blob/master/examples/decrypt.phpconst password = 'myPassword';
const b64string = "AwHsr+ZD87myaoHm51kZX96u4hhaTuLkEsHwpCRpDywMO1Moz35wdS6OuDgq+SIAK6BOSVKQFSbX/GiFSKhWNy1q94JidKc8hs581JwVJBrEEoxDaMwYE+a+sZeirThbfpup9WZQgp3XuZsGuZPGvy6CvHWt08vsxFAn9tiHW9EFVtdSK7kAGzpnx53OUSt451Jpy6lXl1TKek8m64RT4XPr";
const RNCryptor = require('jscryptor');
console.time('Decrypting example');
const decrypted = RNCryptor.Decrypt(b64string, password);
console.timeEnd('Decrypting example');
console.log("Result:", decrypted.toString());
`$3
`js
const fs = require('fs');
const RNCryptor = require('jscryptor');const password = 'myPassword';
const img = fs.readFileSync('./Octocat.jpg');
const enc = RNCryptor.Encrypt(img, password);
// Save encrypted image to a file, for sending to anywhere
fs.writeFileSync('./Octocat.enc', enc);
// Now, to decrypt the image:
const b64 = Buffer.from(fs.readFileSync('./Octocat.enc').toString(), 'base64');
const dec = RNCryptor.Decrypt(b64, password);
fs.writeFileSync('./Octocat2.jpg', dec); // Image should open.
`API
$3
Object exposed by require('jscryptor')`;