问题描述
我正在学习 Dev.to 的教程。但我坚持这一点:bcrypt 的比较不起作用 代码:
const isMatch = await bcrypt.compare(password,user.password);
if (!isMatch){
return res.status(400).json({
msg: "incorrect password"
});
}
解决方法
来自 user.password
的字符串是哈希吗?
bcrypt 将原始字符串与哈希值进行比较。这是一个可以在节点文件中运行的简单工作示例。
const bcrypt = require('bcrypt');
const bcryptTest = async () => {
try {
const password = 'mypassword';
const userPass = await bcrypt.hash('mypassword',5);
const isMatch = await bcrypt.compare(password,userPass);
console.log(isMatch) // returns true
} catch (e) {
console.log(e)
}
}
bcryptTest();