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