2010-03-26 160 views
0

如何解密用crypt加密的PHP密码字符串?如何解密用crypt加密的PHP密码字符串?

$salt = substr($_POST['password'], 0, 2); 
$password = crypt($_POST['password'], $salt); 

我需要在发送原始密码,忘记密码电子邮件。

+5

密码应该是单向散列,当用户要求一个新的密码时,你应该给他发送一个临时密码,他将在下次登录时更改密码。 – 2010-03-26 15:03:51

+0

我完全同意Michael B的看法,没有必要恢复加密(如果可能的话,安全方面的做法很糟糕),只需发送一个新的随机密码,让用户在登录后更改它。 – wimvds 2010-03-26 15:07:06

+0

那里没有设施用户可以更改自己的密码,这里只有管理员创建用户名和密码,并将其发送给用户,同时感谢您的建议 – 2010-03-26 15:18:09

回答

2

这可能不是您正在寻找的答案,但这只是一个更安全明智的做法。

密码应该是单向散列,当用户要求一个新的密码时,你应该给他一个临时的随机密码,他将在下次登录时更改。

1

1)你可以使用对称加密而不是散列(crypt函数是散列) - 这样你就有可能解密它。

2)通常网站服务创建特殊链接并将其邮寄给用户。通过这个链接,我们有我们可以更改密码的页面。这是更安全的方式来存储密码。