前提・実現したいこと
phpで認証ページの作成をしております。
事前にID,PASSWORDを登録し、ログイン時に
PASSWORD認証しようとしています。
発生している問題・エラーメッセージ
事前に登録してハッシュ化したPASSWORDとログイン時の生PASSWORDを
password_verify()で比較しようとしてもfaultになります。
該当のソースコード
$passwd = $_POST['passwd'];//passはxyz123 (中略) $hash = password_hash($passwd , PASSWORD_DEFAULT);//hashを作成 (中略) $query = "INSERT INTO id (email , passwd) VALUES ('$id','$hash')";//DBに登録 ・ ・ ・ $hash_pass = $row['passwd']; if(password_verify($passwd, $hash_pass) === TRUE){ print '認証成功'; print ''; }else{ print '認証失敗'; 認証失敗と出力されます
試したこと
$hash_pass = '$2y$10$/GA8dDZh1gFD9yVJFl48eu3gDFuot5bpnRrRNb78jt52SaazbY55C';//最初にxyz123で登録したときのハッシュ
$correct_password = 'abc123'; //
var_dump(password_verify($correct_password, $hash_pass));
$incorrect_password = 'xyz123'; //
var_dump(password_verify($incorrect_password, $hash_pass));
実行結果
bool(false) bool(false)
補足情報(FW/ツールのバージョンなど)
phpのバージョンは7.2.6です。
回答2件
あなたの回答
tips
プレビュー