ホームページ >バックエンド開発 >PHPチュートリアル >PHP の「password_hash()」を使用する場合、ソルトを別に保存する必要がありますか?

PHP の「password_hash()」を使用する場合、ソルトを別に保存する必要がありますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-29 06:23:10927ブラウズ

Should I Store the Salt Separately When Using PHP's `password_hash()`?

安全なパスワードストレージのための PHP 5.5 のpassword_hash 関数とpassword_verify 関数の使用

質問:

PHP5.5のpassword_hash()を使用する場合ユーザーパスワードを保存する関数では、ソルトをハッシュとは別に保存する必要がありますか?

答え:

いいえ、ソルトをハッシュとは別に保存するのは間違っています。 password_hash() 関数は、ハッシュとソルトの両方を含む文字列を生成します。正しい使用方法は次のとおりです:

$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
// Insert $hashAndSalt into database against user

パスワードを確認するには:

if (password_verify($password, $hashAndSalt)) {
    // Verified
}

このアプローチは、攻撃者がソルトにアクセスしてハッシュを侵害するのを防ぐため、最適なセキュリティを提供します。さらに、PHP 5.5 で非推奨となった ext/mysql の代わりに mysqli を使用し、SQL インジェクションの脆弱性に注意することをお勧めします。

以上がPHP の「password_hash()」を使用する場合、ソルトを別に保存する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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