passport.js难以获得哈希密码

时间:2014-02-06 15:24:47

标签: node.js express 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 ==

1 个答案:

答案 0 :(得分:2)

问题是你的salt是Base-64编码的字符串,但你需要它的二进制值:

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

使用时,hashedPassword1将与您已有的匹配。