【发布时间】:2022-10-05 12:48:19
【问题描述】:
在我的项目中,用户将提供一个 API 密钥,我想将其与数据库中的密钥进行比较。服务器唯一拥有的是请求标头中提供的纯文本密钥。
在 bcrypt 中,我想在数据库中找到这个密钥来验证它。唯一的问题是数据库中的值被散列和加盐。 bcrypt.compare() 可以工作,但前提是我有用户电子邮件之类的东西,可以专门在数据库中找到一个我可以比较密钥的文档。
循环浏览每个文档并比较密钥是我唯一的选择,还是有更有效的方法?
【问题讨论】:
-
考虑到 bcrypt 被设计为计算成本很高,循环访问密钥将非常低效。当然,取决于迭代次数。
标签: javascript node.js hash cryptography bcrypt