Md5哈希加密和解密

时间:2016-06-27 13:29:02

标签: php md5

我对md5感到困惑。 我知道如果不尝试像暴力破解这样非常艰难的东西,我们就无法解密MD5。 现在,对于一个md5哈希我访问这个网站。 MD5Online 为了好奇,我解密了加密密码,我得到了解密的密码。 然后我尝试了4-5密码,这些密码以前存储在我的数据库中,并且这个网站解密了所有这些密码。

然后我尝试使用下面的代码。

<?php
        $password = 'cool@123@!';
        $secure_md5password = md5($password);
        echo $secure_md5password;
?>

我得到了这个md5哈希:6234c13c3e1b965dbdd32d604151bd1b

我在解密这个网站时试过这个哈希,我得到了'酷@ 123 @!'。 我也试过了其他最难的密码。

所以现在我对md5算法感到困惑。该网站是蛮力或任何事情,我们可以使用该网站正在使用的PHP中的任何代码。 我访问这些链接的答案,但我找不到答案。 1)。encrypt-and-decrypt-md5 2)。is-md5-decryption-possible 3)。how-to-decrypt-an-md5-string-in-php

4 个答案:

答案 0 :(得分:8)

MD5已被证明是一种弱算法。由于您的所有“密码”都是基本的,因此网站已经存储了每个密码,其中包含很久以前破解的哈希。

你不能解密哈希,但是你可以蛮力并找出它是什么。

在这里阅读更多内容: https://en.wikipedia.org/wiki/MD5

这里: https://security.stackexchange.com/questions/19906/is-md5-considered-insecure

编辑:看到你更新了你的问题。

假设你有一个复杂的'ajfn3inf'密码 你要哈希吧。由于它的长度相对较短以及GPU的破解哈希的能力,因此运行md5破解程序很容易解开它。阅读上面的链接以了解有关MD5的更多信息。

答案 1 :(得分:6)

该网站可能正在使用彩虹表。

有关此主题的信息: https://en.wikipedia.org/wiki/Rainbow_table

简单说:如果他们曾经粗暴强制哈希,他们会将哈希和密码保存在表格中。 当有人输入哈希值时,他们将搜索表并检索未哈希值。

答案 2 :(得分:2)

是的,这是通过蛮力来完成的。 我确定如果您的密码超过12个字符,那么这个网站是不间断的.md5已过时且不再使用。 相反,使用system来加密password_hash http://php.net/manual/ru/function.password-hash.php

答案 3 :(得分:1)

你可以用md5加盐。并使用强密码策略验证强密码。