Uma*_*air 4 authentication bcrypt node.js
我正在开发一个基于 NodeJS 和 ReactJS 的 Web 应用程序,其中我尝试对多个路由中的密码进行哈希处理,一个用于注册,另一个用于更改密码。
为此,我在两条路线之外生成盐,因此它们都使用相同的盐,如下所示:
const salt = bcrypt.genSalt(10);
Run Code Online (Sandbox Code Playgroud)
现在在路由内部,生成如下:
user.password = await bcrypt.hash(newPassword, salt);
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,它给出以下控制台错误:
非法参数:字符串、对象
当我在各个路由内生成盐时,哈希操作运行良好。可能是什么原因?
wmi*_*mik 11
万一其他人遇到这种情况。
不要忘记等待 genSalt 函数,如下所示:
const salt = await bcrypt.genSalt(10);
Run Code Online (Sandbox Code Playgroud)
错误:Illegal arguments: string, object试图解释传递给哈希函数的参数之一无效,因为它的类型无效。
在本例中,它是第二个参数(salt),它需要一个字符串/数字,但接收一个对象(如果不这样做,则返回承诺对象await)。
希望有帮助
| 归档时间: |
|
| 查看次数: |
7720 次 |
| 最近记录: |