ホームページ >バックエンド開発 >PHPチュートリアル >PHP の「password_verify」が False を返すのはなぜですか?

PHP の「password_verify」が False を返すのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-04 03:18:12545ブラウズ

Why is PHP's `password_verify` Returning False?

False を返す Password_Verify のトラブルシューティング

PHP 5.5 を使用して、password_verify でハッシュされたパスワードを検証しているため、潜在的な理由を調査することが重要です予想外の誤報に対してreturn.

列の長さに関する考慮事項

password_verify に関する一般的な問題の 1 つは、データベースに保存されているハッシュされたパスワードの長さに起因します。マニュアルでは、ハッシュ化されたパスワードを 60 文字を超える文字を保持できる列に保存することを推奨していますが、255 文字が最適な選択です。データベース列が短すぎて、PHP のパスワード ハッシュ関数によって生成されたハッシュ化パスワードを収容できない場合、不正確な検証結果が生じる可能性があります。

そのため、データベース列がハッシュ化されたパスワードを格納するのに十分な長さであることを確認してください。実際に列が短すぎる場合は、適切なサイズ (例: 255 文字) に拡張し、保存されているハッシュ化されたパスワードがそれに応じて更新されるようにします。

追加のトラブルシューティングのヒント

列の長さ以外にも、誤った値に寄与する他の要因がある可能性があります。 return:

  • パスワードのハッシュが正しくありません: ストレージ用のハッシュされたパスワードを生成するときに、正しいハッシュ関数とソルトを使用していることを再確認してください。
  • データ型が一致しません: PHP コードで、ユーザー指定のパスワードとハッシュ化されたパスワードの両方が一致していることを確認してください。
  • 末尾の空白: ユーザー指定のパスワードとハッシュされたパスワードを検証する前に、末尾の空白を削除します。
  • 非推奨の関数: 現在のバージョンを使用していることを確認してください。 PHP と正しいパスワード ハッシュ関数。 md5 や sha1 などの非推奨の関数の使用は避けてください。

以上がPHP の「password_verify」が False を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。