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

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

Barbara Streisand
リリース: 2024-12-29 06:23:10
オリジナル
901 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート