【问题标题】:What is the strongest hashing algorithm commonly available today?当今常用的最强哈希算法是什么?
【发布时间】:2010-09-16 02:14:22
【问题描述】:

我正在构建一个 Web 应用程序,并希望对密码使用最强的哈希算法。 sha512、whirlpool、ripemd160 和tiger192,4 之间有什么区别(如果有的话)?哪一个会被认为在密码学上更强大?

【问题讨论】:

  • 定义“最强”的含义。
  • 我通常会想到找到散列到给定值的输入所需的资源。

标签: hash


【解决方案1】:

bCrypt - 为什么会有很长的解释,我推荐Enough With The Rainbow Tables: What You Need To Know About Secure Password Schemes

基本上,它是安全的,它很慢,它已经实现了。

【讨论】:

  • bcrypt 并不是真正的散列算法,它是一种使用其他散列算法的技术。
【解决方案2】:

如果您真的关心系统的安全性(而不是算法的学术实力),那么您应该使用经过验证且成熟的实现,而不是吹毛求疵的算法。

我会推荐Ulrich Drepper's SHA-crypt implementation。此实现使用 SHA-512,一种 16 个字符的长盐,经过同行评审,并计划通过 glibc 2.7 进入所有主要的 Linux 发行版。


P.S.:一旦您达到此安全级别,black helicopters 无论如何都会访问您。

【讨论】:

    【解决方案3】:

    David,这些都是非常强大的功能。即使是大肆宣传的 MD5 冲突也不是密码破解类型,它们只是生成两个具有相同 MD5 的不同字符串(与查找生成给定 MD5 值的字符串的命题非常不同)。

    如果您担心密码的安全性,则需要担心用于存储密码的协议、用于恢复用户忘记的密码的协议以及所有其他可能的攻击途径。与暴力破解密码分析相比,这些选项更常用于破解密码。

    不过,请务必使用盐。

    但首先阅读AviewAnew发布的文章

    【讨论】:

      【解决方案4】:

      这是一个很好的post on coding horror about storing passwords。简而言之,他建议使用带有随机唯一盐的 bcrypt 或 SHA-2。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-16
        • 2018-01-02
        • 2010-10-11
        • 2010-11-11
        • 1970-01-01
        相关资源
        最近更新 更多