2014-02-06 3 views
2

내 응용 프로그램에 Passport.js를 사용하고 있습니다. passport.js 암호 해시를 얻는 데 어려움이 있습니다.

7PJnpX5okg9ET2pZ2m5eyg== 

그리고이 해시 된 암호

은 다음과 같습니다 :

나는이 소금을 사용하고 지금

ZKRdKDloN37k9Bt070YMZkrqZw+e5IsFx/mdir3+QAEk1dDSp8+q1YJ57GvAQKU5dWIit55eNgWEcI4hd1N7vw== 

을 때, 나는이 코드를 사용하고 사용자가 로그인 :

var userPass = 'testtest' 
var salt = "7PJnpX5okg9ET2pZ2m5eyg=="; 
var hashedPassword1 = crypto.pbkdf2Sync(userPass, salt, 10000, 64).toString('base64'); 

hashedPassword1이 다른 경우 :

Gav+sH1tUG4xlBZOupBy+hcPMGbg5LexzONJuthJxnsY9/WvX17i2d9n6L292bXVsndHbcJfC2KeY3SL 

IRBjEw ==

+0

나는 이해하지 못한다 :'hashedPassword1'은 정확히 같다. – robertklep

+0

죄송합니다 선생님 hashedPassword1이 개브 + sH1tUG4xlBZOupBy + hcPMGbg5LexzONJuthJxnsY9/WvX17i2d9n6L292bXVsndHbcJfC2KeY3SL IRBjEw의 == – sergioramosiker

+0

처럼오고있다 그리고 그것은 암호 해시를 생성 한 동일한 코드입니까? – robertklep

답변

2

문제는 소금이 자료-64로 인코딩 된 문자열입니다,하지만 당신은 그것의 이진 값을 필요

var salt = new Buffer('7PJnpX5okg9ET2pZ2m5eyg==', 'base64'); 

당신이 hashedPassword1이 하나의 당신과 일치합니다 것을 사용 이미 가지고있다.

관련 문제