在比较数据库中的密码和正文中提供的密码时,我遇到了问题。 请帮忙。
app.post('/login', (req, res) => {
var newUserMysql = {
username: req.body.username,
password: req.body.password
};
db.query("SELECT * FROM dataa WHERE username = ?",[newUserMysql.username], function(err, rows) {
if (err)
return done(err);
if (rows.length) {
res.send("already a user")
console.log(bcrypt.compareSync(rows[0].password, newUserMysql.password));
if(bcrypt.compareSync(rows[0].password, newUserMysql.username)){
res.send("successfully logined")
}else{
res.send("password doesnt matched")
}
}
});
})
答案 0 :(得分:0)
您的compare方法参数顺序错误:第一个参数应为纯文本密码,第二个参数为哈希值。您的if语句还将密码哈希与用户名进行比较。日志行有此正确。我假设您在db的密码字段中正确具有哈希值。
这些更改之后的正确版本为:
CardView