【问题标题】:how to store password salt如何存储密码盐
【发布时间】:2011-05-09 05:33:08
【问题描述】:

我已经看到了有关如何正确加盐密码的各种方法。基本前提是,在对每个密码进行散列和存储之前,将随机字符串附加到每个密码。我可以将盐存储在与密码相同的表中吗?另外,只要每个条目都有不同的盐,盐是否以纯文本形式存储有关系吗?

【问题讨论】:

标签: mysql passwords md5 sha1


【解决方案1】:

是的。盐背后的想法不是盐是秘密的,而是它导致不同用户的相同密码被不同地散列。这会增加破解所需的彩虹表的大小,或强制对每个密码单独运行字典(或其他)攻击。

【讨论】:

    【解决方案2】:

    加盐的重点是没有人拥有与用户相同的密码相同的哈希,只需将他们的用户名放在密码前面然后对其进行哈希就足够了。

    【讨论】:

    • 这可能是一个坏主意或好主意。如果您有许多短用户名,那么盐太小而对这些特定用户无用。
    • 您可以将用户名的大小增加一倍,任何特定于用户的操作都可以。
    • 使用用户名作为盐总比没有好,但是完全随机的字符串会更好,因为它会有更多的熵。更好的是随机二进制数据,使用全范围的位(假设字符数据使用全范围的位)。更好的是使用 PBKDF2 或 bcrypt 之类的东西,而不是简单的盐渍哈希。甚至比这更好的是......等等。
    猜你喜欢
    • 2012-05-31
    • 1970-01-01
    • 2016-04-01
    • 2015-11-08
    • 1970-01-01
    • 2011-12-29
    • 2012-11-07
    • 2013-07-07
    • 1970-01-01
    相关资源
    最近更新 更多