【问题标题】:It`s possible to break a sha1(md5('password')) password?可以破解 sha1(md5('password')) 密码吗?
【发布时间】:2011-08-11 13:05:07
【问题描述】:

问题是:有可能破解 sha1(md5('password')) 密码吗?

或者 sha1 中的 md5 或 md5 中的 sha1 更好?

谢谢!

【问题讨论】:

  • 好的。同意加盐对于阻止彩虹表攻击至关重要。现在,否则既然每个人都说 SHA1 和 MD5 都是“不安全的”(我猜是基于碰撞的攻击),那么应该使用什么??
  • 这个后续问题听起来像是一个不同的问题。

标签: php cryptography md5 sha1 cryptographic-hash-function


【解决方案1】:

多重哈希不会进一步保护您的密码。只需使用安全的盐渍哈希即可。

查看http://php.net/hash

【讨论】:

  • 这个。此外,有关散列和加盐的更详尽解释,请查看最近关于 A List Apart 的文章:alistapart.com/articles/…
【解决方案2】:

根据Wikipedia's MD5 article

"MD5 哈希函数的安全性受到严重威胁。"

因此,将 MD5 添加到 SHA1 不会让您的东西更安全。我什至会说散列一个已经散列的东西也不会让它更安全。

许多人用于存储密码的常用机制是散列字符串上的盐加密。

【讨论】:

    【解决方案3】:

    由于没有人回答最初的问题:是的,有可能。

    关于第二个问题:与仅使用 sha1 相比,md5(sha1('password')) 实际上会降低安全性,因为散列大小会减小。反过来也无济于事。

    始终使用salting

    【讨论】:

      【解决方案4】:

      md5 会得到一个 32 个字符的字符串。
      sha1 会给你一个 40 个字符的字符串。

      但是,在这两种情况下,这些字符串将只包含十六进制字符,这意味着每个位置只有 16 个可能的值:0-9 和 a-f


      我不认为使用 md5+sha1 (无论您以哪种顺序调用它们) 是一个好主意:在密码中仅使用其中一个可能会更安全。

      考虑一下:

      • 您的密码中至少可以包含 8 个字符
      • 这8个字符中的每一个都可以是一个字母(大写或小写)、一个数字、一个特殊字符;这意味着每个位置至少有 75 种可能性

      你不认为这会产生比 32 个十六进制字符更多的可能组合吗?


      只需使用一个哈希函数salt您的密码。

      【讨论】:

      • 毫无意义的争论。使用散列是为了避免在数据库中存储明文密码。由于散列是单向的,因此(实际上)无法重建密码。但要实现安全,就需要加盐。
      • 如果不使用盐,通常可以从哈希中猜出密码(只需 google 一些 md5 字符串,有时您会得到有趣的结果)
      • 呃,这正是我最后一句话的意思。
      【解决方案5】:

      将散列函数相互包装不会使您的散列更加安全。仍然可以构建彩虹表以允许攻击者读取您数据库中的大量密码。

      这当然是假设他们可以访问您的代码,但他们可能会这样做,因为到此阶段他们可以访问您的数据库。

      【讨论】:

        【解决方案6】:

        使用两个哈希值并不能使您的算法安全;散列一次,使用最好的(更多位)算法并添加一些盐。例如:

        sha1('This is some salt' . $string . 'othersalt')
        

        这对彩虹表来说要安全得多。我的意思是:不完全安全,因为攻击者可以构建彩虹表,但它更安全,因为普通的彩虹表不起作用。另请注意,这两种算法都已被破解:我强烈建议您使用 SHA-2,例如sha-128 或 sha-256。他们仍然没有被打破。
        最后一件事:总是针对彩虹表的盐哈希。始终使用最好的哈希值:SHA-3 即将到来,您可能想要使用它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-06-29
          • 2021-07-03
          • 1970-01-01
          • 2013-04-24
          • 2021-07-04
          • 2016-10-22
          • 2013-06-17
          • 2011-02-11
          相关资源
          最近更新 更多