The Node.js Crypto module supports cryptography. It provides cryptographic functionality that includes a set of wrappers for open SSL's hash HMAC, cipher, decipher, sign and verify functions.
A hash is a fixed-length string of bits i.e. procedurally and deterministically generated from some arbitrary block of source data.
HMAC stands for Hash-based Message Authentication Code. It is a process for applying a hash algorithm to both data and a secret key that results in a single final hash.
File: crypto_example1.js
const crypto = require('crypto'); const secret = 'abcdefg'; const hash = crypto.createHmac('sha256', secret) .update('Welcome to rookienerd') .digest('hex'); console.log(hash);
Open Node.js command prompt and run the following code:
node crypto_example1.js
File: crypto_example2.js
const crypto = require('crypto'); const cipher = crypto.createCipher('aes192', 'a password'); var encrypted = cipher.update('Hello rookienerd', 'utf8', 'hex'); encrypted += cipher.final('hex'); console.log(encrypted);
Open Node.js command prompt and run the following code:
node crypto_example2.js
File: crypto_example3.js
const crypto = require('crypto'); const decipher = crypto.createDecipher('aes192', 'a password'); var encrypted = '4ce3b761d58398aed30d5af898a0656a3174d9c7d7502e781e83cf6b9fb836d5'; var decrypted = decipher.update(encrypted, 'hex', 'utf8'); decrypted += decipher.final('utf8'); console.log(decrypted);
Open Node.js command prompt and run the following code:
node crypto_example3.js