安全なパスワードストレージのための 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 サイトの他の関連記事を参照してください。