Password Verification in Node.js Last Updated : 14 Oct, 2021 Comments Improve Suggest changes 2 Likes Like Report In Node for password hashing and verification we can use a npm library known as bcryptjs npm-bcryptjs. Installation of bcryptjs: Node.js contains an inbuilt crypto module's randomBytes interface which is used to obtain the secure random numbers. npm install bcryptjs Approach: To hash a password use bcrypt.hash(plainTextPassword, salt, callback) which returns a promise if no callback is passed. To verify plain text password with hashed password use bcrypt.compare(plainTextPassword, hashedPassword, callback) which also returns a promise if no callback is passed. Example 1: javascript // Use bcryptjs module const bcrypt = require("bcryptjs"); // Store the password into variable const password = "password123"; // Use bcrypt.hash() function to hash the password bcrypt.hash(password, 8, (err, hashedPassword) => { if (err) { return err; } // Display the hashed password console.log(hashedPassword); // Use bcrypt.compare() function to compare // the password with hashed password bcrypt.compare(password, hashedPassword, (err, isMatch) => { if( err ) { return err; } // If password matches then display true console.log(isMatch); }); }); Output: $2a$08$PV4rYpBwXUPAGuMedxUnAOxq/TozK9o/QSUWaKE1XL8psOyZ.JL4q true Example 2: javascript // Use bcryptjs module const bcrypt = require("bcryptjs"); // Store the password into variable const password = "password123"; // Use bcrypt.hash() function to hash the password bcrypt.hash(password, 8).then(hashedPassword => { // Display the hashed password console.log(hashedPassword); // Compare the password with hashed password // and return its value return bcrypt.compare(password, hashedPassword); }).then(isMatch => { // If password matches then display true console.log(isMatch); }).catch(err => { // Display error log console.log(err); }); Output: $2a$08$LKZU9S9WVs3C.S/zpu2U7eua/ocfzD1ytF68QPT5M600auT6M.SxG true Create Quiz Comment S ShubhamPal4 Follow 2 Improve S ShubhamPal4 Follow 2 Improve Article Tags : Web Technologies Node.js Explore Introduction & Installation NodeJS Introduction3 min readNode.js Roadmap: A Complete Guide6 min readHow to Install Node.js on Linux6 min readHow to Install Node.js on Windows5 min readHow to Install NodeJS on MacOS6 min readNode.js vs Browser - Top Differences That Every Developer Should Know6 min readNodeJS REPL (READ, EVAL, PRINT, LOOP)4 min readExplain V8 engine in Node.js7 min readNode.js Web Application Architecture3 min readNodeJS Event Loop5 min readNode.js Modules , Buffer & StreamsNodeJS Modules5 min readWhat are Buffers in Node.js ?4 min readNode.js Streams4 min readNode.js Asynchronous ProgrammingAsync Await in Node.js3 min readPromises in NodeJS7 min readHow to Handle Errors in Node.js ?4 min readException Handling in Node.js3 min readNode.js NPMNodeJS NPM6 min readSteps to Create and Publish NPM packages7 min readIntroduction to NPM scripts2 min readNode.js package.json4 min readWhat is package-lock.json ?3 min readNode.js Deployments & CommunicationNode Debugging2 min readHow to Perform Testing in Node.js ?2 min readUnit Testing of Node.js Application5 min readNODE_ENV Variables and How to Use Them ?2 min readDifference Between Development and Production in Node.js3 min readBest Security Practices in Node.js4 min readDeploying Node.js Applications5 min readHow to Build a Microservices Architecture with NodeJS3 min readNode.js with WebAssembly3 min readResources & ToolsNode.js Web Server6 min readNode Exercises, Practice Questions and Solutions4 min readNode.js Projects9 min readNodeJS Interview Questions and Answers15+ min read Like