Php 如何解码密码:$password=md5(addslashes($#u POST[';password';]);

Php 如何解码密码:$password=md5(addslashes($#u POST[';password';]);,php,cryptography,passwords,md5,Php,Cryptography,Passwords,Md5,作为标题,请告诉我如何解码由以下代码编码的密码字符串: $password=md5(addslashes($_POST['password']) 例如:f21601fea7f496cfbc23f7310e13f941 谢谢大家! MD5是单向的。这种算法的本质是它无法逆转。它可能是加密算法,而不是散列 在切换到加密算法之前,不要。如果可能的话,密码应该总是以散列形式存储(有一些不寻常的情况,比如为第三方系统存储密码)。如果您的代码/数据库遭到破坏,这将保护您的用户 对于简单字符串,可以在“彩虹表

作为标题,请告诉我如何解码由以下代码编码的密码字符串:

$password=md5(addslashes($_POST['password'])

例如:f21601fea7f496cfbc23f7310e13f941

谢谢大家!

MD5是单向的。这种算法的本质是它无法逆转。它可能是加密算法,而不是散列

在切换到加密算法之前,不要。如果可能的话,密码应该总是以散列形式存储(有一些不寻常的情况,比如为第三方系统存储密码)。如果您的代码/数据库遭到破坏,这将保护您的用户

对于简单字符串,可以在“彩虹表”中查找MD5哈希。例如,可以将
098F6BC4621D373CADE4E832627B4F6
放入一个工具中,以确定密码可能是
test
(但它可能是另一个导致相同哈希的字符串,称为)


注意:MD5也是因为生成彩虹表的速度。当对密码进行哈希运算时,您应该使用PHP内置的
密码\u哈希
/
密码\u验证
函数,因为它们利用了安全的
bcrypt
哈希算法。

它可以反转,但不是那么容易…@KrzysztofTrzos多个密码可以生成相同的MD5哈希,因此,从技术上讲,它是无法逆转的——有无限多的字符串可以匹配任何一个MD5哈希。“如何解码密码:”——不要——伪装成祝福——这是不起作用的。在这里,ircmaxell早些时候发布了一个答案,使用了一种更安全的哈希方法。实际上,我还添加了一个字段(以注册形式),该字段将以纯文本形式存储用户密码,但当我在DB中搜索该文本时,它不起作用<代码>$password=md5(addslashes($_POST['password'])$pwd=addslashes($_POST['pwd'])@ChristopherMcKenny不要那样做。另外,停止使用
addslashes
内容。它在您的代码中是不必要的(MD5哈希永远不会有
字符),也不足以防止SQL注入。您还需要在哈希之前检查密码。
password\u hash
password\u verify
为您解决所有这些问题。