TODO: add test passing badge like this ->
Bcrypt is a password hashing function designed by Niels Provos and David Mazières, based on the Blowfish cipher
It is ideal for convert password into hash when saving in database, Besides incorporating a salt to protect against Rainbow table attacks, bcrypt is an adaptive function: over time, the iteration count can be increased to make it slower, so it remains resistant to brute-force search attacks even with increasing computation power.
This library makes it easier to use Bcrypt in NodeJS
npm i bcrypt-inzi
import { stringToHash, verifyHash, validateHash } from "bcrypt-inzi";
const hash = await stringToHash("pakistan", 10);
console.log("hash: ", hash);
const result = await verifyHash(
"pakistan",
"$2a$10$W3/bbpG0rexRwKBabxbp7efehubSnxDLM7OCEj0MEPAac98EUa9mW"
);
if (result) {
console.log("hash matched");
} else {
console.log("hash not matched");
}
var bcrypt = require("bcrypt-inzi");
bcrypt.stringToHash("pakistan").then((string) => {
console.log("hash: ", string);
});
bcrypt
.varifyHash(
"pakistan",
"$2a$10$W3/bbpG0rexRwKBabxbp7efehubSnxDLM7OCEj0MEPAac98EUa9mW"
)
.then((result) => {
if (result) {
console.log("matched");
} else {
console.log("not matched");
}
})
.catch((e) => {
console.log("error: ", e);
});
bcrypt
.validateHash("$2a$10$W3/bbpG0rexRwKBabxbp7efehubSnxDLM7OCEj0MEPAac98EUa9mW")
.then((result) => {
if (result) {
console.log("hash is valid");
} else {
console.log("hash is invalid");
}
});
Author | M.Inzamam Malik, malikasinger@gmail.com |
Contributor | Shehzad Iqbal |