Argon2 パスワードハッシュ生成

アルゴリズム、メモリ、反復回数、並列度、ソルト、任意のシークレットを設定して、ブラウザー内でエンコード済み Argon2 パスワードハッシュを生成します

設定
パスワード、ソルト、シークレットをサーバーに送信せずに、エンコード済み Argon2 パスワードハッシュを作成します。

アプリケーションが同じシークレット値でハッシュを検証する場合以外は空欄のままにしてください。

パラメーター
パスワードを検証する環境に合わせて作業係数を調整します。

推定メモリ: 64 MiB

ソルト (Base64)
パスワードごとに一意のランダムソルトを使ってください。ソルトは Base64 としてエンコードされ、最終的な Argon2 ハッシュ文字列の中に保存されます。
ハッシュ結果
現在のパスワードとパラメーターに対するエンコード済み Argon2 ハッシュです。
ハッシュ生成の準備完了
パスワードを入力し、ソルトをそのまま使うか生成してから、エンコード済み Argon2 ハッシュを生成してください。

Argon2 とは?

Argon2 は、オフラインでのパスワード解析に高いコストをかけさせるために設計されたパスワードハッシュアルゴリズムです。反復計算と設定可能なメモリコストを組み合わせるため、攻撃者はパスワード候補を試すたびに時間とメモリの両方を必要とします。

Argon2id が通常デフォルトとして選ばれる理由:

  • 多くのパスワード保存システムでは、Argon2i や Argon2d だけを使うよりも、サイドチャネル攻撃への耐性と GPU による解析への耐性のバランスが優れています
  • エンコード済みの出力には、アルゴリズム、バージョン、メモリ、反復回数、並列度、ソルト、ハッシュが 1 つの移植可能な文字列として格納されます
  • 一意のランダムソルトにより、同じパスワードから同じ保存ハッシュが生成されることを防ぎます
  • 検証環境が高速になったら、メモリと反復回数の設定を引き上げられます

このツールの使い方:

  1. ハッシュ化したいパスワードを入力します。
  2. 生成済みのソルトをそのまま使うか、新しいランダムソルトを作成します。
  3. Argon2 のバリアントを選び、ハッシュを検証するシステムに合わせてメモリ、反復回数、並列度、ハッシュ長を調整します。
  4. エンコード済みハッシュを生成し、その文字列全体をアプリケーションのデータベースに保存します。

セキュリティ上の注意:

  • 平文のパスワードを保存したりログに記録したりしないでください。
  • パスワードごとに新しいランダムソルトを使ってください。
  • 任意のシークレットは、検証側にも同じシークレットがある場合にのみ使ってください。そうでない場合、後でハッシュを検証できません。
  • 実際のユーザーにとって許容できるサインイン待ち時間を保てる範囲で、できるだけ高いメモリ設定と反復回数設定を選んでください。