18

password_hash() という PHP 5.5 の新しい関数を試しています。

何をしても $hash と $password が一致しません。

$password = "test";

$hash = "$2y$10$fXJEsC0zWAR2tDrmlJgSaecbKyiEOK9GDCRKDReYM8gH2bG2mbO4e";



if (password_verify($password, $hash)) {
    echo "Success";
}
else {
    echo "Error";
}
4

3 に答える 3

11

にも同様の問題がありましたpassword_verify()

私の場合の間違いは、データベースのパスワード フィールドを として宣言したことですvarchar(30)が、ハッシュは 60 文字以上です。

于 2014-08-30T13:48:07.840 に答える
8

私にとってはうまくいきます。

<?php

$hash=password_hash("rasmuslerdorf", PASSWORD_DEFAULT);
if (password_verify('rasmuslerdorf', $hash)) {
    echo 'Password is valid!';
} else {
    echo 'Invalid password.';
}
?>

出力:

パスワードは有効です。

于 2013-11-08T09:40:11.633 に答える