次の方法は、ユーザーのパスワードをデータベースに保存する安全な方法ですか?
登録時:
$salt=hash("sha512", rand());
$password=hash("sha512", $_POST["password"].$salt);
insert_values_into_db;
ログイン時:
$given_password=$_POST["password"];
$salt=get_salt_from_db;
$correct_password=get_password_from_db;
if(hash("sha512", $given_password.$salt) === $correct_password){
//Password is correct
}else{
//Password is incorrect
}
これに明らかに明らかなエラーはありますか?