gpt4 book ai didi

node.js - nodejs scrypt 崩溃且没有错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:03:31 26 4
gpt4 key购买 nike

我正在使用 nodejs 库 scrypt 来哈希我的密码。

scrypt.hash(new Buffer(data.password), scryptParameters, function(err, res) {
console.log(res);
//scrypt.verify(res, "incorrect password");
});

效果很好。但是,问题是当我取消注释该行以验证哈希时(为了简单起见,我将其放在同一个函数中(并且同步))

脚本直接崩溃了,没有任何错误!这就是我在控制台中得到的内容

/Users/foo/Documents/nodejs/wow/models/user.js:44
scrypt.verify(res, "incorrect password");
^
[object Object]
31 Jul 10:26:52 - [nodemon] app crashed - waiting for file changes before starting...

而且它似乎正在尝试放入某种对象,即[object Object]。我没有console.log'ing它,因为在取消注释该行之前我在控制台中什么也没有得到。

有人遇到同样的问题吗?提前致谢。

最佳答案

问题是您使用了错误的 key encoding对于scrypt.verify()。默认情况下,它需要一个缓冲区,但您提供一个字符串。将“错误密码”更改为缓冲区或执行以下操作:

scrypt.hash(new Buffer(data.password), scryptParameters, function(err, res) {
scrypt.verify.config.keyEncoding = "utf8";
scrypt.verify(res, "incorrect password");
});

关于node.js - nodejs scrypt 崩溃且没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25049599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com