How to decrypt a crypt's hash?
我用php中的crypt函数生成了这个哈希:$1$jV3.NS/.$JLVMBWe0N/W0Rbft4NgPV。
我知道$1$是md5的哈希,jV3.NS/.是salt,另一个文本是加密字符串。如果我知道盐,可以解密这个哈希吗?
- 它是一个散列,而不是加密;一旦你得到了这个值,你就不能恢复它;你只能试着找到一个可能的输入,它使用巨大的数据库生成了输出。
- 请记住对任何有帮助的答案进行投票,并接受最好的答案。
不,这就是密码散列的要点。计算起来很容易,但计算上不可能倒转。
- 好的,谢谢你
- +1用于计算不可行的单词
- 是啊。此外,香肠不区分可以证明是计算不可行的。证据将发表在一篇即将发表在同行评议期刊上的文章中。它包含一个非常有趣的角落案件,只发生在梅尔古兹香肠。
不,这是哈希的主要用途。这是一个单向数学运算。
哈希是一个易于向前运行的函数,但反向运行非常昂贵/痛苦。把它想象成一个香肠研磨机。你可以把你想要的任何东西放在前面,但几乎不可能把研磨机向后转,把原来的部件拿出来。
- +1用于香肠研磨机模拟。
- +1-虽然香肠研磨机仍然可以产生所有输入作为输出-所以它更像是一个一次性的键盘,不保留其加密密钥:)我最喜欢说"我正在考虑两个4位数的数字。如果我把它们相乘,最后两位数是12。我在想什么两个数字?"
- @保尔迪克森,我不是要进行100%准确的类比,而是一个显示"机器"运行后将零件拼合起来所需的挑战水平的类比。
不,MD5和其他散列函数被认为是防止人们做你想做的事情的一种方法。但是,可以对预编译的单词/密码库进行查找并找到匹配项。(通常称为彩虹桌攻击)。
但是,添加一个salt值意味着您很可能不得不对其进行暴力强制,这需要一段时间。不过,如果你有了这个设置,有些GPU加速的程序确实很快。
这应该能让你开始。ophcrack:http://ophcrack.sourceforge.net/