3

我试图了解如何维护使用 bcrypt 散列的密码的工作因子。

我在那里找到了一个解决方案:Optimal bcrypt factor,这基本上是说您可以在用户登录时重新散列。

但是我不明白它如何解决长时间不登录的用户的问题。在这种情况下,我想唯一的解决方案是向他们发送一封电子邮件,说他们的帐户出于安全目的将被停用?

4

1 回答 1

2

一个用 Bcrypt 散列的密码仍然受到很好的保护,即使你需要增加成本因素​​,也许你可以等待下一次登录。如果您的网站真的需要这么多的安全性,有两种方法可以解决这个问题,我知道:

1)您可以重置此密码,引导用户下次登录时进入丢失密码页面。当然,向用户解释原因是有礼貌的。

2)您可以将当前密码哈希的成本因子和盐存储到数据库中。然后使用 Bcrypt 对已经散列的密码进行散列。如果用户下次登录,您可以先用存储的盐/成本对其进行哈希处理,然后您可以获取结果并对其进行正常哈希处理。如果登录成功,不要忘记更新到新的成本因素。

希望这听起来有点可以理解。

于 2012-09-13T07:00:58.403 回答