说明如何同步实现它以及如何工作?
let user = req.body;
if (user.user_password) {
bcrypt.hash(user.user_password, config.salt.saltRounds, (err, hash) => {
user.user_password = hash;
console.log(user)
});
}
console.log(user)
答案 0 :(得分:2)
Bcrypt故意过慢,以防止更快的硬件轻松破解您的哈希,因此,Bcrypt异步执行以避免在那时锁定您的应用。
检查此链接:Hashing in Action: Understanding bcrypt
不过,以下解决方案将同步“查找”。
async function foo() {
const salt = await bcrypt.genSalt(10);
this.password = await bcrypt.hash(this.password, salt);
}
foo();
console.log(this.password);