Skip to content

Instantly share code, notes, and snippets.

@erans
Last active October 14, 2022 02:31
Show Gist options
  • Save erans/8115172 to your computer and use it in GitHub Desktop.
Save erans/8115172 to your computer and use it in GitHub Desktop.
Example of encryption and decryption in node.js
var crypto = require("crypto")
function encrypt(key, data) {
var cipher = crypto.createCipher('aes-256-cbc', key);
var crypted = cipher.update(data, 'utf-8', 'hex');
crypted += cipher.final('hex');
return crypted;
}
function decrypt(key, data) {
var decipher = crypto.createDecipher('aes-256-cbc', key);
var decrypted = decipher.update(data, 'hex', 'utf-8');
decrypted += decipher.final('utf-8');
return decrypted;
}
var key = "supersecretkey";
var text = "123|a123123123123123";
console.log("Original Text: " + text);
var encryptedText = encrypt(key, text);
console.log("Encrypted Text: " + encryptedText);
var decryptedText = decrypt(key, encryptedText);
console.log("Decrypted Text: " + decryptedText);
console.log("\nAnd again...\n");
console.log("Original Text: " + text);
encryptedText = encrypt(key, text);
console.log("Encrypted Text: " + encryptedText);
decryptedText = decrypt(key, encryptedText);
console.log("Decrypted Text: " + decryptedText);
text = "this is another text";
key = "this is another key";
console.log("\nNew text: & key: " + text);
encryptedText = encrypt(key, text);
console.log("Encrypted Text: " + encryptedText);
decryptedText = decrypt(key, encryptedText);
console.log("Decrypted Text: " + decryptedText);
@erans
Copy link
Author

erans commented Jun 3, 2019

@nazariyv first, there was a copy/paste error in Line #5 which I just fixed.

Second, what do you mean it doesn't work correctly after starting it again? Assuming you specify the exact same key and the right encrypted output it should decrypt it without a problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment