防止用户重复使用受损密码

时间:2014-07-10 20:24:27

标签: passwords

假设您存储哈希值和盐渍密码,例如与Bcrypt。有一天,您了解到用户Bob的密码已被盗用。您将密码设置为一个强大的随机字符串,并通知他必须重置密码。到目前为止一切都很好。

但Bob经历了密码重置过程并输入了相同的密码。现在他的帐户再次受到攻击者的支配。

是否可以阻止Bob再次使用相同的密码?没有盐,这将是直截了当的。您可以记录旧的,受损的哈希值,并将其与Bob尝试输入的新密码的哈希值进行比较。但是用盐,这似乎不可行。

这是一个无法解决的问题吗?

编辑:我想我很傻。我不确定为什么我认为这与登录时检查密码有什么不同。正如martinstoeckli所说,只要你还有旧的哈希和盐,你总是可以将用户的输入与它进行比较。

1 个答案:

答案 0 :(得分:1)

保留旧的受损密码哈希,并执行与验证登录密码时相同的步骤。这也适用于盐渍密码哈希,情况与登录验证没有区别。