WMW

Argon2ハッシュ生成機

Free

ブラウザ内で完全にArgon2id/Argon2i/Argon2dのパスワードハッシュを生成・検証し、メモリコスト、時間コスト、並列度を調整できます。

WebAssemblyを使用してブラウザ内で完全に実行されます。サーバーには何も送信されません。

プリセット

最近のアクティビティ

全員に公開されています。すべての訪問者による直近20回の使用履歴を新しい順に表示します。

まだアクティビティはありません。最初の一人になりましょう。

コメント (0)

このツールは役に立ちましたか?コメントを残したり、コツを共有したり、改善方法を教えてください。

ゲストのコメントは公開前に確認されます。 ログイン すると即座に投稿できます。

まだコメントはありません。最初にご意見をお寄せください!

このツールの機能

このツールは、調整可能なメモリコスト、時間コスト、並列度、ハッシュ長、ソルトを使用して、WebAssemblyによりブラウザ内で完全にArgon2パスワードハッシュ(Argon2id、Argon2i、Argon2d)を生成し、既存のエンコードされたハッシュに対してパスワードを確認する組み込みの検証機能も備えています。

仕組み

Argon2は2015年のパスワードハッシュ化コンペティションで優勝し、意図的に遅くメモリを大量消費するように設計されているため、多くのパスワードを総当たりで破ろうとすると、時間だけでなくRAMの面でもコストが高くなります。パスワード、ランダムなソルト、そして3つのコストパラメータ(メモリコスト:使用するRAM量、時間コスト:そのメモリに対する処理回数、並列度:同時に実行する独立したレーン数)を受け取り、要求された長さのハッシュを生成します。結果は標準のエンコード形式 $argon2id$v=19$m=<KiB単位のメモリ>,t=<反復回数>,p=<並列度>$<ソルト>$<ハッシュ> にパッケージ化され、自己記述的です。つまり、後でパスワードを検証する際は、これらのパラメータを文字列から読み取り、同じ計算を再実行して出力を比較するだけで済みます。

解決できる問題

よくある質問

どのArgon2バリアントを使用すべきですか?

Argon2idは、ほとんどのパスワードハッシュ化のユースケースで推奨されるデフォルトであり、サイドチャネル攻撃への耐性(Argon2iのような)とGPU/ASICクラッキング攻撃への耐性(Argon2dのような)の両方を兼ね備えています。サイドチャネル耐性が最優先事項の場合のみArgon2iを使用し、暗号通貨マイニングなどサイドチャネルの脅威がないアプリケーションの場合のみArgon2dを使用してください。

なぜハッシュの生成に数秒かかることがあるのですか?

この遅延こそがArgon2の目的です。意図的にメモリを大量に消費し、遅くすることで、1秒間に数百万回の推測を試みる攻撃者は、あなたが1つのハッシュを生成するのにかかったのと同じ時間とメモリを、推測1回ごとに費やさなければならなくなります。「最大」のような高いプリセットは、より多くのメモリと反復を使用するため、より長くかかります。

エンコードされたハッシュと16進数出力の違いは何ですか?

エンコードされたハッシュは標準のPHC文字列フォーマット($argon2id$v=19$m=...,t=...,p=...$ソルト$ハッシュ)であり、アルゴリズム、バージョン、パラメータ、ソルトをハッシュとともにまとめているため、自己完結型で後の検証にそのまま利用できます。16進数出力は単なる生のハッシュバイトであり、ハッシュとそのパラメータを別々のデータベース列に保存する必要がある場合に便利です。

私のパスワードはどこかに送信されますか?

いいえ。ハッシュはWebAssemblyを使用してブラウザ内で完全に計算され、ここで入力した内容はどのサーバーにも送信されません。

自分でソルトを生成すべきですか、それともランダムなものを使うべきですか?

実際のパスワード保存にはランダムなソルトを使用してください。それが自動生成される16バイトのソルトの目的であり、ページを読み込むたびに一意になります。独自の固定ソルトを指定するのは、テストや特定の既知のハッシュを再現する場合にのみ有用です。

関連ツール