const bcrypt = require('bcrypt')
const hash = bcrypt.hash(<myPassword>, 12)
const hashSync = bcrypt.hashSync(<myPasword>, 12)
What aspects do they possibly differ in, and Could they be used interchangeably? (Detailed explanation very much wele and greatly appreciated!)
const bcrypt = require('bcrypt')
const hash = bcrypt.hash(<myPassword>, 12)
const hashSync = bcrypt.hashSync(<myPasword>, 12)
What aspects do they possibly differ in, and Could they be used interchangeably? (Detailed explanation very much wele and greatly appreciated!)
Share Improve this question edited Dec 30, 2020 at 12:23 Nikhil K Mannem asked Dec 30, 2020 at 12:18 Nikhil K MannemNikhil K Mannem 511 gold badge2 silver badges14 bronze badges 3-
For a quick understanding, I have logged the values of both 'hash' and 'hashSync' for the value 'myPassword':
hash: Promise { <pending> }
andhashSync: $2b$12$xEpu8E8s0FGIC2wgYbacSO.KoMBQSEoOoobHxv3uWU.h/amo99Wg6
– Nikhil K Mannem Commented Dec 30, 2020 at 12:31 - And that's exactly what it does. Non-sync version returns a promise instead of a direct value. – Mike Szyndel Commented Dec 30, 2020 at 14:37
- 1 Does this answer your question? Node.js sync vs. async – Mike Szyndel Commented Dec 30, 2020 at 14:39
3 Answers
Reset to default 6hashSync is used to Synchronously generates a hash for the given string. It returns the hashed string
hash is used for Asynchronously generating a hash for the given string. It returns promise is callback is mitted and you need to resolve the promise.
refer https://www.npmjs./package/bcryptjs#hashsyncs-salt
bcrypt.hash takes a callback as its third parameter which will be called when the hash is pleted. bcrypt.hashSync runs the hash, waits for it to plete and returns the hashed value.
In other words "hash" is asynchronous and hashSync is synschronous.
you mean
const bcrypt = require('bcrypt')
const hash = bcrypt.hash(<myPassword>, 12) // this returns a promise
const hashSync = bcrypt.hashSync(<myPasword>, 12) //this on is sync so it stops every line of code after untill it's executed
read this article to know the difference between sync and async