UNPKG

password-salt-and-hash

Version:

Simple, safe and straight-forward password hashing / salting for node.js

34 lines (21 loc) 701 B
var Crypto = require('crypto'); const hashPassword = (password, salt) => { return Crypto.pbkdf2Sync(password, salt, 10000, 64, 'sha1').toString('base64'); } const generateSaltHash = ( password ) => { let randomBytesBuf = Crypto.randomBytes(25); let salt = randomBytesBuf.toString('hex'); password = hashPassword(password, salt); return { 'password': password, 'salt': salt } } const verifySaltHash = ( salt, hashedPassword, password ) => { let newHashedPassword = hashPassword(password, salt); if ( hashedPassword === newHashedPassword ) return true; return false; } exports.generateSaltHash = generateSaltHash; exports.verifySaltHash = verifySaltHash;