gpt4 book ai didi

node.js - bcrypt compare 需要一分多钟才能完成

转载 作者:行者123 更新时间:2023-12-03 20:58:20 31 4
gpt4 key购买 nike

我刚刚为我的 REST API 实现了用户身份验证,并使用 bcrypt 进行密码哈希处理。创建用户时我基本上是这样做的

const passwordSalt: string = await genSalt(12);
const passwordHash: string = await hash('pAsSwOrD', passwordSalt);

并将哈希值保存到数据库中。稍后当用户登录时,我将提供的密码与数据库密码哈希进行比较。

const passwordMatches: boolean = await compare('wRoNg pAsSwOrD', user.passwordHash);

我知道比较函数应该很慢以帮助抵御暴力攻击。但是比较功能需要一分多钟才能完成。用户不会等待它完成。那么我的代码有问题吗?

如果您需要更多信息,请告诉我。

最佳答案

成本为 12 的 bcrypt 在任何真实计算机上不应超过 1 秒。

这一定意味着您使用的 bcrypt 实现编写得不是很好。

检查它不是 bcrypt 的好方法,尝试以不同的成本调用:

<表类="s-表"><头>费用持续时间<正文>367 毫秒4135 毫秒5270 毫秒6560 毫秒71,130 毫秒83,250 毫秒97,500 毫秒1015,000 毫秒1130,000 毫秒1260,000 毫秒

关于node.js - bcrypt compare 需要一分多钟才能完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59693792/

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