PHP의 비밀번호 해싱 문제 -password_verify()는 항상 false를 반환합니다.
<p>PHP의 비밀번호 해싱에 문제가 있습니다. 나는 비밀번호를 등록할 때 관리자 비밀번호를 해시하고 데이터베이스에 저장하기 위해 Password_hash() 함수를 사용합니다. 그러나 로그인할 때 비밀번호 확인()을 사용하여 비밀번호를 확인하려고 하면 비밀번호가 정확하다고 확신하는데도 항상 false가 반환됩니다.
다음은 내 코드의 요약입니다:
<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>해시 생성이나 확인 과정에서 뭔가 빠졌나요? 이 문제에 대한 도움이나 통찰력을 주시면 대단히 감사하겠습니다. 감사해요!