dev-resources.site
for different kinds of informations.
Encrypt and Decrypt in NodeJS
Published at
8/21/2021
Categories
encryption
decryption
node
javascript
Author
alexadam
Author
8 person written this
alexadam
open
How to encrypt text
Create a file named encdec.js and paste:
const crypto = require("crypto")
const encrypt = (plainText, password) => {
try {
const iv = crypto.randomBytes(16);
const key = crypto.createHash('sha256').update(password).digest('base64').substr(0, 32);
const cipher = crypto.createCipheriv('aes-256-cbc', key, iv);
let encrypted = cipher.update(plainText);
encrypted = Buffer.concat([encrypted, cipher.final()])
return iv.toString('hex') + ':' + encrypted.toString('hex');
} catch (error) {
console.log(error);
}
}
Let's test it:
Append these lines:
const encrypt = (plainText, password) => {
...
}
const text = "Hello World"
const pass = "secret1234"
const encText = encrypt(text, pass)
console.log('encrypted text', encText);
Then run:
node encdec.js
# Output:
encrypted text af9efafd353a5a7e27f31262dac12d6b:eb1dd75ea6c84e25300d5a244138ab3c
How to decrypt the encrypted text
Add the decryption function:
const decrypt = (encryptedText, password) => {
try {
const textParts = encryptedText.split(':');
const iv = Buffer.from(textParts.shift(), 'hex');
const encryptedData = Buffer.from(textParts.join(':'), 'hex');
const key = crypto.createHash('sha256').update(password).digest('base64').substr(0, 32);
const decipher = crypto.createDecipheriv('aes-256-cbc', key, iv);
const decrypted = decipher.update(encryptedData);
const decryptedText = Buffer.concat([decrypted, decipher.final()]);
return decryptedText.toString();
} catch (error) {
console.log(error)
}
}
And a test:
const text = "Hello World"
const pass = "secret1234"
const encText = encrypt(text, pass)
console.log('encrypted text', encText);
const decText = decrypt(encText, pass)
console.log('decrypted text', decText);
Then run :
node encdec.js
# Output
encrypted text 71596b9f5a99532f438fc5669b845680:248f6cb24a4ebeb174bbb73953115fd5
decrypted text Hello World
Source: https://gist.github.com/vlucas/2bd40f62d20c1d49237a109d491974eb
decryption Article's
8 articles in total
Encryption Vs. Decryption: Whatβs the Difference?
read article
Secure Text Encryption and Decryption with Vanilla JavaScript
read article
Encryption & Decryption Using RSA
read article
Bridging the Gap: Cross-Language Encryption and Decryption between Node.js and Go
read article
Understanding RSA Algorithm
read article
Storing and Handling Confidential Data in ClickHouse
read article
What is Cryptography?
read article
Encrypt and Decrypt in NodeJS
currently reading
Featured ones: