重置密码不起作用

时间:2013-12-23 20:54:36

标签: php mysql

我遇到了一个恼人的问题,我可以设置一个新的用户+密码。登录工作完美。当我重置密码时,应该是相同的代码,我无法使用新密码登录,而且我无法使用旧密码登录。

设置新用户的代码:

$random_salt = hash('sha512', uniqid(openssl_random_pseudo_bytes(16), TRUE));
$password = hash('sha512', $clientPassword . $random_salt);

$stmt->bind_param('ssssssssss', $clientID,$clientName,$clientCompany,
          $clientPassword,$clientEmail,$random_salt,$clientAddress,
          $clientBilling,$clientNotes,$clientTel);
$stmt->execute();

代码更新密码:

$query = "UPDATE managerClients SET password = ? , salt = ? WHERE id = ?";


if ($stmt = $mysqli->prepare($query)) 
{   
$random_salt = hash('sha512', uniqid(openssl_random_pseudo_bytes(16), TRUE));
$password = hash('sha512', $clientPassword . $random_salt);

$stmt->bind_param('sss', $password, $random_salt, $userID);
$stmt->execute();
}

在我通过ajax发送密码之前:

password:hex_sha512(password)

有没有人知道什么可能造成这个问题?

0 个答案:

没有答案