目前我使用 php5 对我的密码进行哈希处理。我想知道如何更改 SHA512 的随机盐。在我将以下代码从 sha1 更改为 sha 512 后,我的哈希失败。以下是我对密码进行哈希处理的代码:
public function hashSSHA($password) {
$salt = mhash(rand());
$salt = substr($salt, 0, 15);
$encrypted = base64_encode(bin2hex(mhash(MHASH_SHA512, $password . $salt, true) . $salt));
$hash = array("salt" => $salt, "encrypted" => $encrypted);
return $hash;
}
/**
* Decrypting password
* @param salt, password
* returns hash string
*/
public function checkhashSSHA($salt, $password) {
$hash = base64_encode(bin2hex(mhash(MHASH_SHA512, $password . $salt, true) . $salt));
return $hash;
}
我设法注册了一个新用户,但是当我尝试使用注册用户登录时,它会告诉我我的用户名或密码在哪里。所以我想知道我在哪里做错了。谢谢!