だから私は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;
}