2016-06-16 7 views
0

암호를 해시하고 db에 사용자를 저장합니다 (여권 사용). 이제 암호를 비교하려고하는 api (여권없이)를 썼다. 같은 문자열을 입력했지만 false를 반환했다. 왜 그렇게 궁금한데? 나는 bCrypt가 지금 어떻게 작동 하는지를 알지 못한다. 내 코드는 아래와 같습니다.비밀 번호를 bCrypt와 비교합니다. false

내 모델

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 모듈에 내장되어 있습니다.

관련 문제