Bcrypt 的比较在 Node.Js 中不起作用

问题描述

我正在学习 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();