As the name suggest it is used for encoding. And module used for cryptography is Crypto module. And this will provides cryptographic functionality which includes a set of wrappers for open SSL's hash HMAC, decipher, cipher, sign and verify functions.
What is Hash
Well hash is fixed length string of bits i.e. procedurally and deterministically generated from some arbitrary block of source data.
What is HMAC
Well HMAC mainly stands for Hash based Message Authentication Code. And this is a process for applying a hash algorithm to both data and a secret key that results in a single final hash.
Encryption Example using Hash and HMAC
File: crytoexample1.js
const crypto = require('crypto');
const secret = 'abcdefg';
const hash = crypto.createHmac('sha256', secret)
.update('Welcome to CrackYourInterview')
.digest('hex');
console.log(hash);
Now open Node.js command prompt and run the below line code
node cryptoexample1.js
Encryption example using Cipher
File: crytoexample2.js
const crypto = require('crypto');
const cipher = crypto.createCipher('aes192', 'a password');
var encrypted = cipher.update('Hello CrackYourInterview', 'utf8', 'hex');
encrypted += cipher.final('hex');
console.log(encrypted);
Now open Node.js command prompt and run the below line code
node cryptoexample2.js
Decryption example using Decipher
File: crytoexample3.js
const crypto = require('crypto');
const decipher = crypto.createDecipher('aes192', 'a password');
var encrypted = '1ce3b761d5839dfed30d5af458a0656a3174d9c7d750de781e83cf6b9fb836d5';
var decrypted = decipher.update(encrypted, 'hex', 'utf8');
decrypted += decipher.final('utf8');
console.log(decrypted);
Now open Node.js command prompt and run the below line code
node cryptoexample3.js