2016-06-16 66 views
0

我哈希我的密码,并将用户保存到数据库(使用护照)。现在我写了一个api(没有护照)尝试比较密码,但它返回false,虽然我键入相同的字符串。只是好奇它为什么这样?我怀疑我现在知道bCrypt的工作原理。我的代码如下。比较密码与bCrypt返回假

我的模型

module.exports.comparePassword = function(candidatePassword, hash, callback){ 
    bCrypt.compare(candidatePassword, hash, function(err, isMatch){ 
     if(err){ 
      return callback(err); 
     } else { 
      console.log("model: " + isMatch) 
      callback(null, isMatch); 
     } 
    }); 
} 

控制器 http://pastebin.com/jCB4YUy0

+0

我以前没有使用过这个功能,但经过一些快速搜索后,它看起来像是在正确使用它。你有没有尝试输出candidatePassword变量来验证它是正确的? –

+0

@EricDubé是的,我不会给我同样的散列 –

回答

0

想通了。我不需要散列密码。 bCrypt模块具有内置的功能。