更新用户记录时创建新盐

时间:2013-05-30 09:41:59

标签: passwords salt

更新用户记录(id,用户名,密码,盐)时,为这条记录创建一个新的盐是明智的,或者无论用户改变他的频率多少,总是使用相同的盐也没有安全劣势密码?

3 个答案:

答案 0 :(得分:0)

只要每个用户的盐不同且用户没有被特定目标定位,就不会(或者最小)安全性优势来更改用户的盐。

盐的观点是1)使预先计算可能的哈希变得更难以及2)以防止不同的用户使用相同的密码。也不要求你换盐。

那就是说,只要你确保新的盐是不可预测的,改变盐肯定没有坏处。

答案 1 :(得分:0)

如果你改变用户盐,当穷人改变他的用户名或除了密码之外的任何其他东西时,你将得到一个错误的哈希密码盐组合。

没有理由像Old Pro中所描述的那样更改用户盐,但如果您想要更改它,则只有在用户更改密码时才进行更改。

答案 2 :(得分:0)

您是否将盐用于除密码以外的其他条目?在这种情况下,如果不使用此盐重新散列所有条目,则无法更改salt。除了为每个用户存储盐之外,还有更简单的解决方案。

密码哈希函数的大多数实现(例如PHP的BCrypt实现)将自动为每个哈希值生成一个新的安全盐,并将使用的盐作为哈希值的一部分返回。因此不需要单独存储盐,并且每次计算新的哈希值时,该函数都会生成新的盐。

所以是的,为每个哈希计算创建一个新的盐是一件好事,特别是因为它比分别存储盐更容易。