ホームページ >データベース >mysql チュートリアル >PHP 5.5 で「password_hash」と「password_verify」を使用してユーザー パスワードを安全に保存および検証するにはどうすればよいですか?

PHP 5.5 で「password_hash」と「password_verify」を使用してユーザー パスワードを安全に保存および検証するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-13 11:49:11897ブラウズ

How Can I Securely Store and Verify User Passwords in PHP 5.5 Using `password_hash` and `password_verify`?

PHP 5.5のpassword_hashとpassword_verifyを効果的に使用する

ユーザーパスワードのセキュリティを考慮すると、適切な保存方法について疑問が生じます。 PHP 5.5 のパスワード。 PHP 5.5 で導入され、その後 PHP 5.3.7 に実装されたpassword_hash 関数は、パスワード管理の安全なオプションとして登場しました。

質問で示された初期実装とは対照的に、ソルトとは別にソルトを保存していました。ハッシュの場合、推奨されるアプローチは、ハッシュとソルトの両方を組み合わせて保存することです。 passwd_hash 関数は、両方の要素をカプセル化する文字列を生成し、個別のストレージの必要性を排除します。

password_hash を使用したパスワードの保存

password_hash を使用してユーザーのパスワードを保存する正しい方法は次のとおりです:

$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
// Store $hashAndSalt in database against the user

検証中パスワードとpassword_verify

ユーザーが入力したパスワードを検証するには:

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

このアプローチにより、ハッシュとソルトの両方が使用されることが保証され、パスワード ストレージのセキュリティが強化されます。

以上がPHP 5.5 で「password_hash」と「password_verify」を使用してユーザー パスワードを安全に保存および検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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