Passwords 更新用户记录时创建新的salt

Passwords 更新用户记录时创建新的salt,passwords,salt,Passwords,Salt,在更新用户记录(id、用户名、密码、salt)时,是否也为该记录创建一个新的salt是明智的,或者无论用户多久更改一次密码,始终使用相同的salt是否没有安全缺陷只要每个用户的salt不同并且用户不是特定的目标,更改用户salt的安全优势 salt的要点是1)使预计算可能的哈希更难,2)防止不同的用户使用相同的密码。两者都不要求你换盐 也就是说,只要你确定新的食盐是不可预测的,更换食盐当然没有坏处 如果您更改用户salt,当可怜的用户更改用户名或密码以外的任何其他内容时,您将得到错误的哈希密码s

在更新用户记录(id、用户名、密码、salt)时,是否也为该记录创建一个新的salt是明智的,或者无论用户多久更改一次密码,始终使用相同的salt是否没有安全缺陷只要每个用户的salt不同并且用户不是特定的目标,更改用户salt的安全优势

salt的要点是1)使预计算可能的哈希更难,2)防止不同的用户使用相同的密码。两者都不要求你换盐


也就是说,只要你确定新的食盐是不可预测的,更换食盐当然没有坏处

如果您更改用户salt,当可怜的用户更改用户名或密码以外的任何其他内容时,您将得到错误的哈希密码salt组合


没有理由按照Old Pro中的说明更改用户salt,但如果您想在某个时候更改它,请仅在用户更改其密码时进行。您是否将salt用于密码以外的其他条目?在这种情况下,如果不使用此salt重新灰化所有条目,则无法更改salt。不过,有比每个用户储存一份盐更简单的解决方案

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


因此,是的,为每个哈希计算创建一个新的salt是一件好事,特别是因为它比单独存储salt更容易。

这正是我的想法,但感谢您的确认。