2012-03-12 79 views
-2

我有这个用crypt函数在php中生成的哈希: $1$jV3.NS/.$JLVMBWe0N/W0Rbft4NgPV如何解密crypt的散列?

我知道$1$是MD5的散列,jV3.NS/.是盐,而其他文本是加密的字符串。 如果我知道盐,可以解密这个散列吗?

+4

这是一个散列,而不是加密;一旦你获得了价值,你就无法恢复它;您只能尝试找到使用大型数据库生成输出的可能输入中的一个 – mishu 2012-03-12 15:06:09

+0

请记住upvote任何有帮助的答案,并接受最好的答案。 – 2012-06-28 04:57:49

回答

13

不。这是密码散列的要点。这很容易计算,但计算不可逆转。

+0

好的,谢谢你 – freenet 2012-03-12 15:08:46

+2

+1使用计算上不可行的字 – 2012-03-12 15:26:16

+1

是的。此外,香肠UNGrinders可以显示在计算上不可行。该证据将在即将发表的同行评审期刊上发表。它包含一个非常有趣的角落案件,只发生在merguez香肠。 – Celada 2012-03-12 15:32:18

11

不。这是散列的主要目的。这是一种单向数学运算。

8

散列函数设计为易于向前运行,但极其昂贵/难以逆转。把它想象成一个香肠研磨机。你几乎可以把任何你想要的东西放在前面,但几乎不可能把研磨器向后翻转并取回原始组件

+1

+1用于香肠研磨机比喻。 – 2012-03-12 15:08:33

+0

+1 - 虽然香肠研磨机仍然产生所有的输入作为输出 - 所以它更多的是一次性垫不保存它的加密密钥:)我最喜欢的是说:“我正在考虑两个4位数字数字,如果我把它们相乘,最后两位数字是12.我想到的是两个数字?“ – 2012-03-12 15:14:46

+0

@PaulDixon我不打算进行100%准确的比喻,更多的比喻显示了一旦“机器”运行后,将零件拼凑在一起所需的挑战水平。 – Hasteur 2012-03-12 15:18:10

0

不,MD5和其他哈希函数被认为是防止人们做到完全准确的单向算法你想要做什么。但是,可以对预编译的字/密码/等库进行查找。并找到一个匹配。 (通常称为彩虹桌攻击)。

但是,增加一个盐值意味着你很可能不得不暴力,这将需要一段时间。尽管如果你有这个设置,但是有一些GPU加速程序非常快。

这应该让你开始。 OphCrack:http://ophcrack.sourceforge.net/