我想使用 Nodejs 中的加密模块为 pbkdf2 密码哈希编写一个异步函数。虽然 randomBytes 函数工作正常,但在使用 await 运行 pbkdf2 时出现以下错误:“错误:没有提供给 pbkdf2 的回调”。
我知道一种解决方法可能是使用 pbkdf2Sync() 但我不明白为什么异步版本不起作用或者等待同步功能是否正确?
节点 v 8.10.0
async function hashPassword(password){
let salt;
let hash;
let pass;
try{
salt = await Crypto.randomBytes(Config.SALT_BYTES);
hash = await Crypto.pbkdf2(password, salt, Config.ITERATIONS, Config.HASH_BYTES, 'sha512');
pass = salt+hash;
return pass;
}
catch(err){
console.log('ERR: ', err);
}
}Run Code Online (Sandbox Code Playgroud)