更新用户记录(id,用户名,密码,盐)时,为这条记录创建一个新的盐是明智的,或者无论用户改变他的频率多少,总是使用相同的盐也没有安全劣势密码?
答案 0 :(得分:0)
只要每个用户的盐不同且用户没有被特定目标定位,就不会(或者最小)安全性优势来更改用户的盐。
盐的观点是1)使预先计算可能的哈希变得更难以及2)以防止不同的用户使用相同的密码。也不要求你换盐。
那就是说,只要你确保新的盐是不可预测的,改变盐肯定没有坏处。
答案 1 :(得分:0)
如果你改变用户盐,当穷人改变他的用户名或除了密码之外的任何其他东西时,你将得到一个错误的哈希密码盐组合。
没有理由像Old Pro中所描述的那样更改用户盐,但如果您想要更改它,则只有在用户更改密码时才进行更改。
答案 2 :(得分:0)
您是否将盐用于除密码以外的其他条目?在这种情况下,如果不使用此盐重新散列所有条目,则无法更改salt。除了为每个用户存储盐之外,还有更简单的解决方案。
密码哈希函数的大多数实现(例如PHP的BCrypt实现)将自动为每个哈希值生成一个新的安全盐,并将使用的盐作为哈希值的一部分返回。因此不需要单独存储盐,并且每次计算新的哈希值时,该函数都会生成新的盐。
所以是的,为每个哈希计算创建一个新的盐是一件好事,特别是因为它比分别存储盐更容易。