使用PDO忘记密码脚本(需要解密)

时间:2016-01-03 15:19:19

标签: php mysql pdo password-hash

我可能有一个愚蠢的愚蠢问...我正在做一个被遗忘的密码脚本(当然登录系统)但我被困了。我用一个特殊的ID创建了一个代码(它正在工作,是的!)但是我无法解密它...你能帮助我吗?

这是我创建特殊ID的功能:

Recovery_Script.php

//! @cond DoNotRaiseWarning
code
//! @endcond

现在我需要创建文件,我将解密此ID($密码)。但我不能这样做(因为我对这些东西知之甚少)。你能帮帮我吗?谢谢!

1 个答案:

答案 0 :(得分:3)

无法解密sha-hashed值。

您需要做的是放弃密码恢复的想法,而是构建一个密码重置系统。

这样做的一种方法是这样的:

  1. 在您的用户表中,为“reset_hash”添加一列(一个漂亮的长哈希字符串)
  2. 当用户请求重置密码时,请构建散列值并将其存储在其记录中。然后,在电子邮件中,发送包含“reset_hash”作为网址一部分的链接。
  3. 当用户关注url时,检查用户表中是否存在哈希。如果是,请提供一个表单,用户可以更改密码。
  4. 您应该考虑的其他预防措施可能包括使用NONCE,并验证NONCE,这是导致链接在X小时后过期的一种方式(NONCE仅在一段时间内有效)。