Bcrypt Password Hash With Salt Rounds

Hash and verify passwords with bcrypt using configurable salt rounds for adaptive cost hashing.

TypescriptAuth Jwt

Code

snippet
import bcrypt from'bcrypt';export async function hashPassword(password:string,saltRounds=12):Promise<string>{return bcrypt.hash(password,saltRounds);}export async function verifyPassword(hash:string,password:string):Promise<boolean>{try{return await bcrypt.compare(password,hash);}catch{return false;}}export function needsRehash(hash:string,targetRounds=12):boolean{const rounds=hash.split('$')[2];return Number(rounds)!==targetRounds;}export async function hashWithPepper(password:string,pepper:string,saltRounds=12):Promise<string>{return hashPassword(password+pepper,saltRounds);}