ホームページ > バックエンド開発 > PHPチュートリアル > PHP 5.5でpassword_hash()とpassword_verify()を使用してユーザーパスワードを安全に保存および検証するにはどうすればよいですか?

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

Barbara Streisand
リリース: 2024-12-04 20:57:16
オリジナル
673 人が閲覧しました

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

PHP 5.5 でパスワードを安全に保存する

データベース内のユーザー パスワードを保護する場合、強力な暗号化技術を採用することが重要です。 PHP 5.5 では、この目的のために特別に設計された 2 つの重要な関数、password_hash() とpassword_verify() が導入されました。それらの適切な使用法を詳しく見てみましょう。

コストと一意のソルトをpassword_hash()に渡すことを含む、提案された方法は最適ではありません。代わりに、これらの値を内部で安全に生成する組み込みのソルトとコストのメカニズムを利用してください。この関数は、ハッシュとソルトの両方を組み合わせたハッシュを返します。

ハッシュとソルトの保存:

$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
ログイン後にコピー

$hashAndSalt を分割する代わりにデータベースに挿入します。ソルトとハッシュ。

パスワード:

if (password_verify($password, $hashAndSalt)) {
   // Verified
}
ログイン後にコピー

データベースから $hashAndSalt を取得し、password_verify() を使用して指定されたパスワードと直接比較します。ソルト比較は内部で処理されます。

セキュリティに関する追加の考慮事項:

これらの関数の使用は安全なパスワード管理へのステップですが、次のような追加の対策を検討してください。

  • データに SSL/TLS などの安全な通信プロトコルを使用するtransit.
  • 非推奨の ext/mysql の代わりに MySQLi などの安全なデータベース層を採用します。
  • クライアント側の改ざんを防ぐためにサーバー側にパスワード ハッシュを実装します。

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

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