データベース内のユーザー パスワードを保護する場合、強力な暗号化技術を採用することが重要です。 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() を使用して指定されたパスワードと直接比較します。ソルト比較は内部で処理されます。
セキュリティに関する追加の考慮事項:
これらの関数の使用は安全なパスワード管理へのステップですが、次のような追加の対策を検討してください。
以上がPHP 5.5でpassword_hash()とpassword_verify()を使用してユーザーパスワードを安全に保存および検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。