デフォルトは OWASP の Argon2id プロファイルに従います (64 MiB、3 パス)。最初のハッシュ時には WASM ランタイム (~25 KB) も読み込まれます - すべてブラウザ内で動作します。
-
-
Argon2id - Password Hashing Competition の勝者。メモリハード方式であり、コストは CPU 速度ではなく RAM で決まるため、GPU や ASIC でも攻撃者に利点はありません。100% クライアント側 (WASM) - パスワードがデバイスの外に出ることはありません。
機能の説明
Argon2
HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
& Verify は、Argon2id でパスワードをハッシュするツールです。Argon2id は 2015 年の PasswordHashingHashingA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
Competition の勝者で、bcrypt と PBKDF2 のモダンな後継です。既存の Argon2 ハッシュの検証にも対応します。3 つのコストパラメータ — memory(デフォルト 64 MiB)、iterations(デフォルト 3 パス)、parallelism(レーン数)— を自分で制御できます。すべては WebAssembly でブラウザー内で実行され、パスワードがデバイスの外に出ることはありません。出力は、そのままデータベースに保存できる自己完結型の PHC 文字列です:
$argon2id$v=19$m=65536,t=3,p=1$<salt>$<hash>
この文字列にはアルゴリズム、バージョン、すべてのコストパラメータ、ランダムソルト、ダイジェストが埋め込まれています。検証に必要なのは、この文字列とパスワードだけです。
使い方
HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
を選び、パスワードを入力します。必要に応じて memory / iterations / parallelism / ハッシュ長を調整します。HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
を押します。エンコード済み PHC 文字列(保存用)か、生の 16 進ダイジェストをコピーします。- 保存済みハッシュとパスワードを照合するには Verify に切り替え、
$argon2id$…文字列を貼り付けて Verify を押します。文字列から解析されたパラメータも表示されます。
例
- 新規ユーザー登録(サーバーサイドのアナロジー):
argon2Hash(password)の戻り値(エンコード済み文字列)をusers行に保存します。ログイン時はargon2Verify(encoded, password)が一致を判定します。 - 実装間の一致確認:
password/somesalt、m=65536、t=2、p=4、32 バイトダイジェスト →1a9677b0afe81fda…— 同じ入力でのgolang.org/x/crypto/argon2と完全に一致します。 - チューニング: m=19456(19 MiB)、t=2、p=1 は OWASP の許容下限プロファイル。m=65536、t=3、p=1(このツールのデフォルト)が推奨値です。
補足事項
- メモリーハードネスが重要な理由: bcrypt と PBKDF2 のコストは CPU 時間だけです。Argon2id のコストは*メモリ(RAM)*で決まります。攻撃者は 1 推測あたり 64 MiB のメモリを費やさなければならず、GPU(高速コアだがコアあたりのメモリは少ない)と ASIC は有利性を失います。ノートパソコンも GPU ファームも、1 推測あたりのコストはほぼ同じです。
- とくに Argon2id について: Argon2i はサイドチャネル耐性(メモリアクセスがデータ非依存。サーバー上での実行向け)、Argon2d は GPU 攻撃耐性を持ちます。Argon2id は両者のハイブリッドで、パスワード保存に推奨されます。
- 16 進ダイジェストではなく、エンコード済み文字列を保存してください。 PHC 文字列はパラメータとソルトを運ぶため、将来のログインが今日の設定に依存しなくなります。
- 全バリアントに対応: ツールは文字列そのものから argon2d / argon2i / argon2id を自動判別します。
- プライベート: ハッシュ化は WASM(リファレンス実装 Argon2 v1.0.2)で 100% クライアントサイド — 実際のパスワードにも安全です。
- 関連ツール: Password Generator、Passphrase Generator、Password Strength Analyser、
HMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
Generator。