ホームページ > バックエンド開発 > PHPチュートリアル > bcrypt を使用して PHP でパスワードを安全にハッシュするにはどうすればよいですか?

bcrypt を使用して PHP でパスワードを安全にハッシュするにはどうすればよいですか?

DDD
リリース: 2024-12-20 16:23:18
オリジナル
400 人が閲覧しました

How Can I Securely Hash Passwords in PHP Using bcrypt?

PHP でのパスワード ハッシュに bcrypt を使用する

bcrypt は、パスワードの保存に強く推奨される安全なパスワード ハッシュ関数です。速度が遅く、大量のラウンドを使用するため、攻撃者がパスワードを総当たり攻撃するのは困難です。さらに、レインボー テーブルを防ぐためにパスワードごとのソルトを使用します。

PHP の bcrypt

PHP には組み込みの bcrypt 関数がありません。ただし、複数のオプションが利用可能です:

  • PHP 5.5 以降:

    password_hash('password', PASSWORD_DEFAULT); // Default settings
    password_hash('password', PASSWORD_BCRYPT, [
       'cost' => 11, // Set the number of rounds
    ]);
    ログイン後にコピー
  • PHP 5.3.7 ~ 5.5 (および RedHat PHP 5.3.3) ):

    • GitHub から互換性ライブラリをインストールします。
    • 使い方は PHP 5.5 と同じです。
  • 以前の PHP バージョン5.3.7:

    • 非推奨: crypt() 関数を使用しますが、このメソッドはオプションほど安全ではないことに注意してください

例:

$bcrypt = new Bcrypt(15);
$hash = $bcrypt->hash('password');
$isGood = $bcrypt->verify('password', $hash);
ログイン後にコピー

bcrypt の利点

  • ハードウェアで拡張可能 (構成可能な数ラウンド)
  • 速度が遅いためブルート フォース攻撃が困難
  • パスワードごとのソルトによりレインボー テーブルが防止される
  • 検証にはソルト、ラウンド、パスワードが必要です

ソルトは必ずハッシュ化されたパスワードと一緒に保存してください。プレーンテキストのパスワードをデータベースやその他の共有リソースに保存しないでください。 bcrypt を使用すると、ユーザーのパスワードを効率的かつ安全に保護できます。

以上がbcrypt を使用して PHP でパスワードを安全にハッシュするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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