【发布时间】:2017-10-06 10:09:14
【问题描述】:
所以我正在尝试为一些密码/密码散列创建一个单元测试。我之前也遇到过这个错误,但后来我可以用一个简单的.toString() 解决它,但现在这似乎不起作用。
这是我的一些与方法相关的代码:
pin.model.spec.js:
let pin = Math.floor(1000 + Math.random() * 9000);
let hash = await Pincode.getHashedPincode(pin.toString(), salt);
crypto.js:
function getPasswordHash(password, salt) {
return new Promise((resolve, reject) => {
crypto.pbkdf2(password, new Buffer(salt, 'hex'), iterations, keyLength, 'SHA1', (err, result) => {
if (err) {
return reject(err);
}
return resolve(result.toString('hex'));
});
});
}
不用担心方法名不一致,在它们之间有一个名为getHashedPincode 的方法,它什么也不做,只是为了命名约定而调用getPasswordHash。变量 iterations 和 keyLength 来自常量文件。所以这也不是问题。
希望有人能引导我走向正确的方向
编辑:
这是整个getHashPincode:
Pincode.getHashedPincode = async (pincode, salt) => {
return cryptographer.getPasswordHash(pincode, salt);
};
【问题讨论】:
-
你能告诉我们
getHashedPincode吗? -
我编辑了帖子
标签: javascript node.js ecmascript-6 es6-promise