ログインシステムを作成していますが、パスワードをハッシュして安全性を高めたいのですが、毎回異なるハッシュが返され、password_verify()を使用して検証することもできません。コードは次のとおりです。
$password = password_hash($password4, PASSWORD_DEFAULT);
これが検証用の私のコードです:
if(password_verify($password4, $dbpassword))
だから、一度に1つの部分を取りましょう
しかし、それは毎回異なるハッシュを返します
それがアイデアです。 password_hash
は、毎回ランダムなソルトを生成するように設計されています。つまり、すべてに使用されている1つのソルトを推測して大きな足を上げるのではなく、各ハッシュを個別に分割する必要があります。
MD5
やその他のハッシュを行う必要はありません。 password_hash
のセキュリティを高めたい場合は、より高いコストを渡します(デフォルトのコストは10です)
$password = password_hash($password4, PASSWORD_DEFAULT, ['cost' => 15]);
確認するために
if(password_verify($password4, $dbpassword))
したがって、$password4
はハッシュされていないパスワードであり、$dbpassword
はデータベースに保存されているハッシュである必要があります。