PHP でパスワードをハッシュするために Bcrypt を使用する方法
Bcrypt は、スケーラビリティと効率性で知られる、認知されたハッシュ アルゴリズムです。ハッシュ プロセス中に構成可能なラウンド数が組み込まれるため、ブルート フォース攻撃は計算コストが高くつき、非現実的になります。さらに、ソルトの使用を義務付け、同一のパスワードで異なるハッシュを生成し、事前計算された攻撃を阻止します。
PHP での bcrypt 実装
PHP バージョン 5.5 以降はネイティブでサポートします。パスワードのハッシュ化。 Password_hash() 関数を使用して bcrypt ハッシュを生成します:
echo password_hash('rasmuslerdorf', PASSWORD_DEFAULT) . "\n"; // e.g., y$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ユーザーが入力したパスワードを既存のハッシュに対して認証するには:
$hash = 'y$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq'; if (password_verify('rasmuslerdorf', $hash)) { echo 'Password is valid!'; } else { echo 'Invalid password.'; }
5.5 より前の PHP バージョンでの Bcrypt の使用法
PHP バージョン 5.3.7 の場合以下の場合は、GitHub からダウンロードできる Bcrypt 互換クラスと組み合わせた crypt() 関数を使用します。
Bcrypt クラスをインスタンス化します:
$bcrypt = new Bcrypt(15);
パスワードをハッシュします:
$hash = $bcrypt->hash('password');
確認してくださいパスワード:
$isGood = $bcrypt->verify('password', $hash);
結論
Bcrypt は、ユーザーのパスワードを保護し、不正アクセスを防止し、データの整合性を維持するために不可欠なツールです。 PHP での bcrypt の実装は、アプリケーションをパスワードベースの攻撃から保護する重要な保護手段です。
以上がBcrypt を使用して PHP でパスワードを安全にハッシュする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。