1
2
共享盐会让你稍微更有安全感。它可以防止攻击者使用预先计算的彩虹表攻击,但不能阻止他们为密码数据库构建一个新的彩虹表。因此,攻击者很难用给定的盐破解一个密码,但用该盐破解每个密码要容易得多。 例如,考虑以下一组简化的密码、盐和散列:
攻击者知道你的盐
使用不同的盐,每个密码必须分别受到攻击。
如果攻击者再次开始计算来自
为了向混合中添加一些数字,使用一个盐将攻击时间从瞬时(彩虹表提供了对哈希摘要的恒定时间查找)延长到线性时间。一旦攻击者计算出系统允许的每个密码的哈希值,他们就可以访问
每一个
您的系统中的帐户。即使您有16个字符的密码
现在,如果每个密码都有不同的盐,那么在攻击者破解整个数据库所花费的相同时间内,他们只破解了一个密码。 这是一个很大的区别。使用独特的盐。(和a good hashing algorithm ,而我们正在讨论这个话题。) |