PHP のパスワード ハッシュの問題 -password_verify() が常に false を返す
<p>PHP でのパスワードのハッシュ化に問題があります。登録時に管理者パスワードをハッシュ化し、データベースに保存するには、password_hash() 関数を使用します。ただし、ログイン時に、password_verify() を使用してパスワードを検証しようとすると、パスワードが正しいとわかっていても、常に false が返されます。 </p><p>コードの概要は次のとおりです。</p><p><br /></p>
<pre class="brush:php;toolbar:false;">$adminPassword = "test123";
$adminPasswordHash = パスワード_ハッシュ($adminPassword, PASSWORD_BCRYPT);
// ... $adminPasswordHash をデータベースに保存します ...
// ログイン中:
$adminInputPassword = "test123";
$adminPasswordHashVERIFY = "$2y$10$o4qspRTirOSdyGtwHCxt6ee2i0BNChl3mEPazxVbmb534kw3ACHCm";
if (password_verify($adminInputPassword, $adminPasswordHashVERIFY)) {
echo "パスワードは正しいです!";
} それ以外 {
echo "パスワードが間違っています!";
}</pre>
<p>$adminPassword と $adminInputPassword が同じ値であることを確認しましたが、検証では常に false が返されます。また、password_hash() 関数を使用して、PASSWORD_BCRYPT の代わりに PASSWORD_DEFAULT をパラメータとして渡してみましたが、結果は同じでした。 </p><p>ハッシュの生成または検証プロセス中に何かが欠けているのでしょうか?この問題に関するご支援や洞察をいただければ幸いです。ありがとう! </p>