我想使用一个强大的身份验证方案,所以我决定使用PBKDF2。我使用PBKDF2和SHA256算法,5000次迭代,我使用用户名(用户的完整电子邮件地址)作为salt。因此,每个用户都有一个独特的电子邮件,他们的电子邮件地址是他们的标识符。因此,当他们输入密码时,我将使用带有5000迭代的PBKDF2和SHA256算法来散列用户的密码。
你觉得它好吗?你能告诉我这个散列计划是否有安全漏洞吗?
发布于 2015-01-11 00:15:40
是的,有一个弱点。每次用户更改密码时,您都应该更改salt,而您的方案不能这样做。知道盐必须是什么的攻击者可以进行计算前攻击,计算数千个密码的散列。然后,即使用户更改了密码,攻击者也可能已经预先计算了密码.
盐应该来自加密安全的伪随机数生成器(CSPRNG)。
https://security.stackexchange.com/questions/78902
复制相似问题