NodeJs的BCrypt包的hash()和hashSync()函数的区别

Nik*_*nem 4 javascript passwords bcrypt password-hash node.js

const bcrypt = require('bcrypt')

const hash = bcrypt.hash(<myPassword>, 12)

const hashSync = bcrypt.hashSync(<myPasword>, 12)
Run Code Online (Sandbox Code Playgroud)

它们可能在哪些方面有所不同?它们可以互换使用吗?(非常欢迎并非常感谢详细的解释!)

Adi*_*shi 6

hashSync用于同步生成给定字符串的哈希值。它返回散列字符串

hash用于异步生成给定字符串的哈希值。它返回承诺回调已提交并且您需要解决承诺。

参考https://www.npmjs.com/package/bcryptjs#hashsyncs-salt


小智 5

bcrypt.hash 将回调作为其第三个参数,当哈希完成时将调用该回调。bcrypt.hashSync 运行哈希,等待其完成并返回哈希值。

换句话说,“hash”是异步的,而 hashSync 是同步的。