Comparing a Password

To compare a plain-text password with a hashed password, you can use the bcrypt.compare() function.

JavaScript
const bcrypt = require("bcrypt");

const hashedPassword =
    "$2b$10$iGg/9uZhbLVhl.BkFnfNoO0OGnLuweX.URICnzXIePPz5uCFrj7uu";
const plainPassword = "gfg1122";

bcrypt.compare(plainPassword, hashedPassword, function (err, result) {
    if (err) {
        console.error(err);
        return;
    }
    if (result) {
        console.log("Password is correct!");
    } else {
        console.log("Password is incorrect!");
    }
});

In this example, plainPassword is the plain-text password that you want to compare, and hashedPassword is the hashed password retrieved from your database. The bcrypt.compare() function compares the plain-text password with the hashed password and returns a boolean value indicating whether the passwords matches or not.

When entered wrong password


When entered correct password

NPM bcrypt

bcrypt is a popular npm package used for password hashing. It utilizes the bcrypt hashing algorithm, which is designed to be slow and computationally intensive, making it resistant to brute-force attacks even with the increasing computational power of modern hardware.

Similar Reads

What is bcrypt?

bcrypt is a password-hashing function designed by Niels Provos and David Mazières and presented at USENIX in 1999 to securely hash passwords. It is based on the Blowfish cipher and incorporates a salt to protect against rainbow table attacks and other common password-cracking techniques. Bcrypt is widely used in the industry and is considered one of the most secure methods for hashing passwords....

Installation

You can install this package with npm using following command:...

Hashing a Password

To hash a password using bcrypt, you’ll typically use the ” bcrypt.hash() “ function....

Comparing a Password

To compare a plain-text password with a hashed password, you can use the bcrypt.compare() function....

Why do we use bcrypt for password hashing?

The reasons why bcrypt is the preferred choice for password hashing are following:...