【问题标题】:How to decrypt a crypt's hash? [duplicate]如何解密crypt的哈希? [复制]
【发布时间】:2012-03-28 23:57:16
【问题描述】:

我在 php 中使用 crypt 函数生成了这个哈希: $1$jV3.NS/.$JLVMBWe0N/W0Rbft4NgPV.

我知道$1$ 是 MD5 的哈希,jV3.NS/. 是盐,其他文本是加密字符串。 如果我知道盐,是否可以解密此哈希?

【问题讨论】:

  • 这是一个散列,不是加密;一旦获得价值,您就无法恢复它;您只能尝试使用庞大的数据库找到生成输出的可能输入之一
  • 请记住对任何有帮助的答案进行投票,并接受最好的答案。

标签: php md5 encryption crypt


【解决方案1】:

没有。这就是加密哈希的意义所在。它很容易计算,但在计算上是不可行的。

【讨论】:

  • +1 用于使用计算上不可行的词
  • 是的。此外,可以证明香肠 UNgrinders 在计算上是不可行的。该证明将发表在同行评审期刊上即将发表的一篇文章中。它包含一个非常有趣的极端案例,仅在 merguez 香肠中出现。
【解决方案2】:

没有。这是哈希的主要目的。这是一种单向数学运算。

【讨论】:

    【解决方案3】:

    哈希是一种设计为易于向前运行但反向运行非常昂贵/痛苦的函数。把它想象成一个香肠研磨机。您几乎可以将任何您想要的东西放在前进中,但几乎不可能将研磨机向后转动并取出原始组件

    【讨论】:

    • +1 用于香肠研磨机的类比。
    • +1 - 虽然香肠研磨机仍然会产生所有输入作为输出 - 所以它更像是一次性垫,不保留其加密密钥 :) 我最喜欢说“我”我在想两个 4 位数字。如果我将它们相乘,最后两位数字是 12。我在想什么两个数字?”
    • @PaulDixon 我并不是要一个 100% 准确的类比,更多的类比显示了一旦“机器”运行后将部件重新组合在一起所需的挑战水平.
    【解决方案4】:

    不,MD5 和其他散列函数被认为是一种防止人们完全按照您的意愿行事的算法。但是,可以对预编译的单词/密码/等库进行查找。并找到一个匹配。 (通常称为彩虹表攻击)。

    但是,添加盐值意味着您很可能不得不强制使用它,这需要一段时间。虽然如果你有设置,有一些 GPU 加速程序真的很快。

    这应该可以帮助您入门。 OphCrack:http://ophcrack.sourceforge.net/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-05
      • 2010-12-06
      • 2016-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-10
      相关资源
      最近更新 更多