我看过各种正确加盐密码的方法。基本原则是在哈希和存储密码之前,将一个随机字符串附加到每个密码上。那么,我能否将盐存储在与密码相同的表中?此外,如果每个条目有不同的盐,是否重要将盐以明文形式存储?
是的。盐的概念并不在于盐是秘密的,而是它可以使不同用户的相同密码被散列成不同的值。这会增加破解所需的彩虹表大小,或者强制对每个密码分别进行字典(或其他)攻击。
加盐的目的是为了避免用户使用相同密码时具有相同的哈希值,只需在密码前面添加用户名并进行哈希处理即可。