CoderTools

パスワードハッシュジェネレーター

Bcrypt、Scrypt、Argon2アルゴリズムで安全なパスワードハッシュを生成・検証

Bcrypt オプション

10

値が高いほど安全ですが、計算時間が長くなります。推奨:10-12

パスワードハッシュについて

パスワードハッシュは、ユーザーパスワードを固定長の文字列に変換する一方向暗号化技術です。通常のハッシュとは異なり、パスワードハッシュアルゴリズムはブルートフォース攻撃やレインボーテーブル攻撃に対抗するように特別に設計されています。

重要:プレーンテキストのパスワードを保存しないでください!ユーザーパスワードを保存する際は、常にパスワードハッシュアルゴリズム(Bcrypt、Scrypt、Argon2など)を使用してください。これらのアルゴリズムには、レインボーテーブル攻撃を効果的に防ぐためのソルト生成が組み込まれています。

アルゴリズム比較

アルゴリズム メモリ使用量 GPU耐性 推奨
Bcrypt 1999 4KB はい
Scrypt 2009 設定可能 はい
Argon2 2015 設定可能 非常に高い 最適な選択

Bcryptについて

Bcryptは、1999年にNiels ProvosとDavid Mazièresによって設計された、Blowfish暗号に基づく適応型パスワードハッシュ関数です。ハードウェア性能の向上に合わせて増加できるコストファクターが含まれており、クラッキングへの耐性を維持します。Bcryptは最大72バイトのパスワードをサポートし、$2a$、$2b$、$2y$プレフィックスを持つ60文字のハッシュを生成します。

Scryptについて

Scryptは、2009年にColin Percivalによって設計されたパスワード派生関数で、計算に大量のメモリを必要とするメモリハードアルゴリズムとして特別に設計され、ASICやGPUの並列攻撃に効果的に対抗します。Scryptは暗号通貨(Litecoinなど)やパスワード保存に広く使用されています。パラメータN、r、pでCPUとメモリコストを調整できます。

Argon2について

Argon2は2015年のパスワードハッシュコンペティションの優勝者であり、現在利用可能な最も安全なパスワードハッシュアルゴリズムと考えられています。3つの変種があります:Argon2d(GPU耐性)、Argon2i(サイドチャネル耐性)、Argon2id(両方を組み合わせ、パスワードハッシュに推奨)。Argon2はメモリ、反復回数、並列度パラメータを設定できます。

パスワード保存のベストプラクティス

参考資料