Monday, July 29, 2019

What is Node.js Crypto ?

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.

What is Hash

A hash is a fixed-length string of bits i.e. procedurally and deterministically generated from some arbitrary block of source data.

What is HMAC

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.

Encryption Example using Hash and HMAC

File: crypto_example1.js
  1. const crypto = require('crypto');  
  2. const secret = 'abcdefg';  
  3. const hash = crypto.createHmac('sha256', secret)  
  4.                    .update('Welcome to JavaTpoint')  
  5.                    .digest('hex');  
  6. console.log(hash);  
Open Node.js command prompt and run the following code:
  1. node crypto_example1.js  
Node.js crypto example 1

Encryption example using Cipher

File: crypto_example2.js
  1. const crypto = require('crypto');  
  2. const cipher = crypto.createCipher('aes192''a password');  
  3. var encrypted = cipher.update('Hello JavaTpoint''utf8''hex');  
  4. encrypted += cipher.final('hex');  
  5. console.log(encrypted);   
Open Node.js command prompt and run the following code:
  1. node crypto_example2.js  
Node.js crypto example 2

Decryption example using Decipher

File: crypto_example3.js
  1. const crypto = require('crypto');  
  2. const decipher = crypto.createDecipher('aes192''a password');  
  3. var encrypted = '4ce3b761d58398aed30d5af898a0656a3174d9c7d7502e781e83cf6b9fb836d5';  
  4. var decrypted = decipher.update(encrypted, 'hex''utf8');  
  5. decrypted += decipher.final('utf8');  
  6. console.log(decrypted);  
Open Node.js command prompt and run the following code:
  1. node crypto_example3.js  
Node.js crypto example 3

No comments:

Post a Comment