【发布时间】:2014-09-01 08:46:12
【问题描述】:
假设您存储散列和加盐密码,例如与 Bcrypt。有一天,您得知用户 Bob 的密码已被泄露。您将他的密码设置为一个强随机字符串,并通知他必须重置他的密码。到目前为止一切顺利。
但是 Bob 经历了密码重置过程并输入了相同的泄露密码。现在,他的帐户再次受到攻击者的摆布。
可以阻止 Bob 再次使用相同的密码吗?如果没有盐,那将是直截了当的。您可以记录旧的、泄露的哈希值,并将其与 Bob 尝试输入的新密码的哈希值进行比较。但是用盐,这似乎不可行。
这是一个无法解决的问题吗?
编辑:我想我是傻了。我不知道为什么我认为这与登录时检查密码有什么不同。正如 martinstoeckli 所说,只要您还有旧的哈希和盐,您就可以随时将用户的输入与它进行比较。
【问题讨论】:
-
您可以存储一些以前使用过的密码哈希值,并根据这些哈希值检查他们的新密码。
标签: passwords