Node.js Tutorial
- Node.js Tutorial
- Install Node.js on Windows
- Install Node.js on Linux/Ubuntu/CentOS
- Node.js First Example
- Node.js Console
- Node.js REPL
- Node.js Package Manager
- Node.js Command Line Options
- Node.js Global Objects
- Node.js OS
- Node.js Timer
- Node.js Errors
- Node.js DNS
- Node.js Net
- Node.js Crypto
- Node.js TLS/SSL
- Node.js Debugger
- Node.js Process
- Node.js Child Process
- Node.js Buffers
- Node.js Streams
- Node.js File System (FS)
- Node.js Path
- Node.js StringDecoder
- Node.js Query String
- Node.js ZLIB
- Node.js Assertion Testing
- Node.js V8
- Node.js Callbacks
- Node.js Events
- Node.js Punycode
- Node.js TTY
- Node.js Web Module
- NestJS
Node.js MySQL
Node.js MongoDB
Nodejs Difference
Node.js MCQ
Node.js Express
Nodejs Interview Questions
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
- const crypto = require('crypto');
- const secret = 'abcdefg';
- const hash = crypto.createHmac('sha256', secret)
- .update('Welcome to JavaTpoint')
- .digest('hex');
- console.log(hash);
Open Node.js command prompt and run the following code:
- node crypto_example1.js
Encryption example using Cipher
File: crypto_example2.js
- const crypto = require('crypto');
- const cipher = crypto.createCipher('aes192', 'a password');
- var encrypted = cipher.update('Hello JavaTpoint', 'utf8', 'hex');
- encrypted += cipher.final('hex');
- console.log(encrypted);
Open Node.js command prompt and run the following code:
- node crypto_example2.js
Decryption example using Decipher
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