bcrypt.compare总是返回false

问题描述

我正在尝试为表单创建登录身份验证。我通过控制台登录密码来检查我是否做错了什么,但似乎没有任何反应。 谢谢! 当bcrypt.compare将数据库的结果与字符串密码进行比较时,总是返回false。

passport.use(new LocalStrategy(
            function (username,password,done) {
                User.getUserById(username,function (err,user) {
                    if (!user.length) {
                        return done(null,false,{ message: 'Invalid Credentials! Please try again.' });
                    }
                    else {
              
                        bcrypt.compare(password,user[0].password,res) {
                             return console.log(res)
                            if (err) return done(err);
                            if (res == true) {
                                User.getUserType(username,res1) {
                                    return done(null,res1[0]);
                                });
                            }
                            else {
    //                          return done(null,{ message: 'Invalid Credentials! Please try again.' });
                                return console.log("thank you,i see error")
                            }
                        });
                    }
    
    
    
    
                });
            }));

因此,返回console.log(res)始终为false。有解决方案的想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)