2016-06-16 68 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模塊具有內置的功能。