-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
'もし(password_verify($ passwd、$ hash)){{}}'で十分であれば、検証時に第3引数はありません。 – Ekin
'error_reporting'が有効になっていないか、' display_errors'がオンになっていないか、マニュアルを読んでいないだけです。 ['password_verify'](http://php.net/password-verify)には2つの引数があります。あなたは3つの引数を渡しています。つまり、関数は返されず、代わりにエラーが発生します。 – Sherif