在缓存中安全地存储密码哈希

我正在将后端服务器作为个人项目。 目前,当有人注册时,他们的密码用Bcrypt散列,并保存在数据库中。 但是,每次需要查询数据库时,都需要验证请求是否来自经过身份验证的用户,这似乎太多了。 结果,我开始怀疑将这些内容缓存在服务器的内存中。 我认为在这个内存中存储一​​个未散列的密码是不安全的。 什么是最安全的方式来实现这一点? 我可以缓存密码的Bcrypte'd副本,然后验证用户的密码是否与缓存的Bcrypt副本相匹配,但是如果可以,我还想尽可能少地使用bcrypt。 我假设将密码和Bcrypt'd版本一起存储在缓存中,即使未链接到用户名,也不是一个好主意。 在保持安全性和性能的同时,我还能做些什么吗?


缓存明文密码及其散列通常不是一个好主意。 安全带来了成本,在这里你的表现。

如果您不需要一流的安全性(即较慢的散列),则可以使用基于SHA512的快速散列解决方案。

对于数据库性能,请尝试调整数据库缓存以加快检索速度。

链接地址: http://www.djcxy.com/p/3679.html

上一篇: Securely Storing Password Hashes in Cache

下一篇: How to resolve password hash complexity with HTTP basic auth?