3

私はまだPHPに慣れていません。アンドリュー・ムーア氏の方法を試してみました。パスワードが一致しませんでした。アンドリュー・リューのコード と投稿からの回答で遊んでみました。var_dump を実行しようとすると、true または false が得られません。何が間違っているのかわかりません。誰か教えてください。

$bcrypt = new Bcrypt(15); 
$username = sanitize($username);
$password = $_POST['password'];

DEFINE('DB_USER', 'root');
DEFINE('DB_PASSWORD', 'password');
DEFINE('DB_HOST', 'localhost');
DEFINE('DB_NAME', 'users');

$dbh = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$check_username = $dbh->prepare("SELECT password FROM user WHERE username= '$username'");
$check_username -> execute(array($username));

while($row = $check_username->fetch(PDO::FETCH_ASSOC)){
    $check_password = $row['password'];
    $isGood = $bcrypt->verify($password, $check_password);
    var_dump($isGood);
}
4

1 に答える 1

0

ハッシュ化されたパスワードをdbに保存されているものと比較できますか?同様の問題が発生し、dbのハッシュが切り捨てられていることに気付きました。パスワードの列サイズをVarchar(40)からVarchar(125)に変更すると、問題が解決しました。

于 2012-11-11T23:29:00.037 に答える