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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-10 00:49:09390ブラウズ

Why is `password_verify()` Returning False in PHP 5.5?

Password_Verify が False を返すのはなぜですか?

PHP 5.5 のpassword_verify() 関数を使用してパスワード ハッシュを検証する場合、開発者は False を返す場合があります。それはさまざまな要因が考えられます。一般的な原因の 1 つは、特に PHP 5.5 が使用されている場合、データベース内のパスワード ハッシュ列の最大長に関連しています。

データベース列の長さに関する考慮事項

によるとPHP マニュアルによると、セキュリティを最適化するには、データベース列に保存されるパスワード ハッシュの長さが 60 文字を超える必要があります。これは、password_verify() が、ソルトや反復などの要素に基づいてさまざまな長さのハッシュを出力する、安全で低速なハッシュ アルゴリズム (bcrypt) を実装しているためです。

データベース内のパスワード ハッシュ列の長さ制限が60 文字の場合、保存されているハッシュが切り捨てられ、password_verify() が失敗する可能性があります。したがって、この問題を解決するには、列の長さを 255 文字以上に設定することをお勧めします。

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

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