-2
이 코드를 실행하면 잘못된 비밀번호가 나타납니다. 암호가 해시 된 암호와 일치하지 않는 이유는 무엇입니까?php에서 password_hash() 함수가 유효하지 않은 비밀번호를 얻음
<?php
$passwd = "imad";
$hash = password_hash($passwd,PASSWORD_DEFAULT,['cost'=>10]);
echo "$passwd".' :'.$hash."<br/><br/>";
if (password_verify($passwd, $hash,['cost'=>10])) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
?>
해시 모양은 어떤 모양입니까? 그것은'$'을 포함합니까? – RamRaider
if (password_verify ($ passwd, $ hash)) {//}'이면 충분합니다. 확인할 때 세 번째 매개 변수가 없습니다. – Ekin
'error_reporting'이 나타나지 않았거나'display_errors'가 켜져 있지 않았거나 매뉴얼을 읽지 않았기 때문에. ['password_verify'] (http://php.net/password-verify)는 정확히 2 개의 인수를 취합니다. 당신은 3 개의 주장을 전달하고 있습니다. 즉, 함수가 반환되지 않고 대신 오류가 발생합니다. – Sherif