This is a modified version of the original bcrypt-as-promised as I was having issues using bcrypt.
Original can be found here bcrypt-as-promised
A promisified version of bcrypt
npm install bcrypt-nodejs-as-promised
hashing:
bcyrpt.hash('my password', 10)
.then(console.log, console.error)
comparing: (note that an invalid password/hash combo errors as a rejected promise)
bcyrpt.compare('my password', someHash)
.then(console.log, console.error)
Note: an invalid password/hash combo errors as a rejected promise
The rejection can be checked against instanceof bcrypt.MISMATCH_ERROR
bcrypt.compare('invalid password', someHash)
.then(handleValidPassword)
.catch(bcrypt.MISMATCH_ERROR, handleInvalidPassword)
.catch(handleOtherErrors);
generating a salt:
bcyrpt.genSalt(10)
.then(console.log, console.error)
calculating the rounds used in a salt:
bcyrpt.getRounds(someHash)
.then(console.log, console.error)