I am trying to encrypt and decrypt values using node inbuild module crypto. I have followed this tutorial to encrypt the data. They haven’t to gave any sample code to decrypt. When I try to use other tutorial code to decrypt the data. It not working out. Please help me out,
Code
const crypto = require('crypto'); // Difining algorithm const algorithm = 'aes-256-cbc'; // Defining key const key = crypto.randomBytes(32); // Defining iv const iv = crypto.randomBytes(16); // An encrypt function function encrypt(text) { // Creating Cipheriv with its parameter let cipher = crypto.createCipheriv( 'aes-256-cbc', Buffer.from(key), iv); // Updating text let encrypted = cipher.update(text); // Using concatenation encrypted = Buffer.concat([encrypted, cipher.final()]); // Returning iv and encrypted data return encrypted.toString('hex'); } var op = encrypt("Hi Hello"); //c9103b8439f8f1412e7c98cef5fa09a1
Advertisement
Answer
Since you havent provided the code for decryption, Cant help you what is actually wrong you doing, apart from that you can do this to get decrypted code:
const crypto = require('crypto') // Defining key const key = crypto.randomBytes(32) // Defining iv const iv = crypto.randomBytes(16) // An encrypt function function encrypt(text) { // Creating Cipheriv with its parameter const cipher = crypto.createCipheriv('aes-256-cbc', Buffer.from(key), iv) // Updating text let encrypted = cipher.update(text) // Using concatenation encrypted = Buffer.concat([encrypted, cipher.final()]) // Returning iv and encrypted data return encrypted.toString('hex') } var op = encrypt('Hi Hello') console.log(op) function decrypt(data) { // Creating Decipheriv with its parameter const decipher = crypto.createDecipheriv('aes-256-cbc', Buffer.from(key), iv) // Updating text const decryptedText = decipher.update(data, 'hex', 'utf8') const finalText = decryptedText + decipher.final('utf8') return finalText } var decrptedData = decrypt(op) console.log(decrptedData)