【发布时间】:2020-12-22 18:20:40
【问题描述】:
我正在将我的 python 烧瓶应用程序移动到 nodejs。以前我用werkzeug.security.generate_password_hash(password) 对密码进行哈希处理。如何验证nodejs中的密码哈希?代码如下:
async function verify(password, hash) {
return new Promise((resolve, reject) => {
const [salt, key] = hash.split(":")
crypto.scrypt(password, salt, hash.length, (err, derivedKey) => {
if (err) reject(err);
resolve(key == derivedKey.toString('hex'))
});
})
}
每当我尝试代码时,它都会返回false。有人可以向我解释解决方案吗?
【问题讨论】:
-
根据werkzeug.palletsprojects.com/en/1.0.x/utils/…,该方法默认为 pbkdf2,不是 scrypt。