sql >> データベース >  >> RDS >> Mysql

PHPpassword_verifyがデータベースに対して機能しない

    \n 次の行に、改行を埋め込んでいます。(編集:ユーザーが入力したパスワードに含めることができないもの)

    $password = password_hash($pass,  PASSWORD_BCRYPT, $options)."\n";
    

    それを削除して、新しいハッシュでやり直す必要があります。

    Jay Blanchard 、ここスタックのメンバーメモを送信 password_hash()> マニュアル、それは彼と私が実際に話し合ったものです。

    もう1つのオプションは、 trim()を使用することです。 ;これも機能します(ハッシュの時点で)。

    $password = password_hash($pass,  PASSWORD_BCRYPT, $options)."\n";
    $password = trim($password);
    // Store in db after
    

    それでも、古いハッシュをクリアして新しいハッシュを作成することからやり直す必要があります。

    ただし、パスワードをエスケープしないように注意してください。

    123'\ abcなど (完全に有効)は 123 \'\ abcに変更されます real_escape_string() ;必要ありません。 password_verify() セキュリティ面でそれを処理します。




    1. マージステートメントはMySQLで利用できますか

    2. Mysql:「dd / mm/yyyy」から「yyyymmdd」への日付の変換

    3. Neo4jクエリ言語-Cypher

    4. Html/PhpフォームがSQLデータベースに追加されない