Last active
October 14, 2022 02:31
-
-
Save erans/8115172 to your computer and use it in GitHub Desktop.
Example of encryption and decryption in node.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); |
@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
if you take an encrypted value using this method, and start the script anew, providing that value, it won't decrypt it correctly. How can you take an encrypted value and then decrypt it by starting the script anew?