UnhandledPromiseRejectionWarning:错误:需要数据和盐参数

问题描述 投票:0回答:1

我在使用此代码时遇到此错误:

async function get(user) {
  user = await Joi.validate(user, userSchemaGet, { abortEarly: false });
  await User.findOne(
    {_id: user._id}, 
    (err, res) => {
      if(err){
        console.log("ERROR : ")
        console.log(err)
      } else {
        console.log("res")
        console.log(res);
        if(bcrypt.hash(user.password, 10) === res.hashedPassword) {
          return res;
        }
      }
    });
}

我阅读了有关此主题的所有stackoverflow,但没有任何反应。ps:最后一天运作良好...

node.js bcrypt
1个回答
0
投票

1]可能user.password为空或未定义。在将user值传递给hash功能之前,请先检查该值。

2)bcrypt.hash是一个承诺,但是您将其用作常规功能。

3)bcrypt具有特殊的比较功能,该功能用于检查密码是否与哈希匹配。您应该在这里使用它。

Bcrypt docs

© www.soinside.com 2019 - 2024. All rights reserved.