【发布时间】:2014-07-05 06:17:30
【问题描述】:
这里我使用 bcryptjs 库来加密我的密码,当我插入数据库时它工作正常,但每次比较我插入数据库的相同密码时它都返回 false。这是我的代码..请告诉我我错在哪里。
此代码用于在数据库中插入哈希密码,效果很好
bcrypt.hash(insertData.Password, 10, function(err, hash) {
// Store hash in your password DB.
console.log('hash' , hash)
insertData.Password = hash;
insertIntoDB(table,insertData,function(result){
if(result && result.length > 0){
res.json({
"status":"1",
"result":result[0]._id
});
}
});
});
这是比较密码的代码,但它总是返回 false。
var actualPass = results[0].Password //Store in DB password
bcrypt.hash(UserInputPassword, 10, function(err, hash) {
console.log('hash' , hash)
bcrypt.compare(actualPass, hash, function(err, response) {
if(err){
console.log("err",err)
}else{
console.log("response",response)
}
});
});
【问题讨论】:
-
您是否尝试
compare()'ingactualPass对来自数据库的哈希(例如insertData.Password)而不是新生成的哈希? -
是的,我试试,这是我的代码,你可以检查一下。但我不知道它是如何工作的..
标签: javascript node.js bcrypt