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

Вопрос заключается в том, что ваша соль является Base-64 закодированные строки, но вы должны его двоичное значение:

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

При использовании этого hashedPassword1 будет соответствовать тот, который вы уже есть.

Смежные вопросы