我注意到一些消息来源表明,当使用像PBKDF2这样的 KDF 时,一些人提倡在执行时注入盐 - 如下所示:
dv = salt + PBKDF2(salt + password, salt)
与“普通”用法相比
dv = PBKDF2(password, salt)
使用该PyCrypto.Protocol.KDF
PBKDF2
功能(上面链接)时,如果没有两个密码具有相同的盐(但盐将与密码一起存储),额外的盐参数是否会增加任何好处?
据推测,风险在于有一个预言机,因此相同的密码将按原样显示、编码。是这种情况还是应该注意其他问题?
如果这是我所期望的唯一问题,那么在允许短路的算法中没有错误的情况下,简单使用的盐迫使人们在整个迭代次数内重新检查每个密码。是这样吗?