所以我正在学习 PHP 并且正在处理登录页面。我已经想出了如何使用 SHA256 对 $salt+$password 进行散列来注册新用户。我知道有较慢的加密方法,如 bcrypt,但出于学习目的,我只使用 SHA256。我的问题是,在使用它加密之后:
function HashPassword($password) {
$salt = bin2hex(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM));
$hash = hash("sha256", $salt . $password); column
$final = $salt . $hash;
return $final;
}
使用准备好的语句,从数据库中检索哈希密码的最佳方法是什么,以便我可以使用这样的函数对其进行验证?
function ValidatePassword($password, $hash_pass) {
$salt = substr($hash_pass, 0, 64);
$trueHash = substr($hash_pass, 64, 64);
$reHash = hash("sha256" , $salt . $password);
return $reHash == $trueHash;
}