我正在使用这段代码来加密我的密码: -
public function hashSSHA($password) {
$salt = sha1(rand());
$salt = substr($salt, 0, 10);
$encrypted = base64_encode(sha1($password . $salt, true) . $salt);
$hash = array("salt" => $salt, "encrypted" => $encrypted);
return $hash;
}
现在我意识到,我需要它的逆过程。所以我尝试了这个
base64_decode(sha1(str_replace($password, $salt), true) . $salt);
和这个
base64_decode(str_replace(sha1(str_replace($password, $salt), true) , $salt));
获取我的解密密码,但没有工作。
答案 0 :(得分:1)
不要存储加密密码,存储哈希值。只是惹麻烦。 PHP docs有一个很好的教程。
评论后编辑:
忘记密码表格,您只需要申请他们的电子邮件。向他们发送一封电子邮件,其中包含get
中存储在数据库表中的随机值。确认值匹配,并让他们更改密码。然后,更改数据库中的值以使您发送的链接无效。