ハッシュ種類識別ツール

ハッシュの形式から種類を判定。bcrypt、Argon2、$6$ SHA-512 crypt、LDAP {SSHA}、Django PBKDF2、MySQL、16 進の長さによる MD5/SHA を hashcat モード付きで識別します。

識別は長さ・文字種・プレフィックスに基づく推測です。同じ長さのダイジェストを出すアルゴリズムは多いため、単なる 16 進文字列を確実に特定することはできません。

ハッシュ識別ツールとは?

ハッシュ文字列を解析し、それを生成した可能性のあるアルゴリズムを、確度のラベルと対応する hashcat モードとともに一覧表示します。$2b$(bcrypt)、$argon2id$、$6$(SHA-512 crypt)、{SSHA}、pbkdf2_sha256$ のような自己記述形式は確実に識別され、単純な 16 進や Base64 のダイジェストは長さで照合されます。

ハッシュ識別ツールの使い方

  1. 識別するハッシュ にハッシュを貼り付けます。
  2. 検出された形式と候補の一覧を確認します。可能性の高い順から、単に可能性があるものまで並んでいます。
  3. hashcat のモードやアルゴリズム名を使って、元のソフトウェアやハッシュジェネレーターで推測を検証します。

例

入力
5d41402abc4b2a76b9719d911017c592
出力
32 hexadecimal characters (128 bits). Possible algorithms: MD5 (most likely, hashcat -m 0), NTLM (most likely, hashcat -m 1000), MD4, MD2, RIPEMD-128, LM

ハッシュ識別ツールを使うべき場面

データベースのダンプ、設定ファイル、CTF の問題でハッシュを見つけ、何で生成されたかを知りたいときに使います。単純な 16 進ダイジェストは、同じ長さのアルゴリズムが多いため確実には識別できません。既知の入力をハッシュして確認してください。このツールはハッシュの解読や復元は行いません。

ハッシュ識別ツールの仕組み

入力はまず、crypt(3)、LDAP、Django、Werkzeug、passlib、phpass、MySQL、MSSQL 形式の約 35 のプレフィックスパターンと照合され、一致すればアルゴリズムが正確に特定されます。それ以外の場合、16 進文字列は長さで分類され(16 進 32 文字 = 128 ビット → MD5、NTLM、MD4…、64 文字 → SHA-256、SHA3-256、BLAKE2s、BLAKE3…)、Base64 文字列はデコード後のバイト長で分類されます。同じ長さのグループの先頭の候補が実際に最も一般的で、他は可能性ありとして列挙されます。

一般的な使用例

  • 移行前に、レガシーなデータベースでパスワードがどう保存されているかを調べる
  • 許可された監査で正しい hashcat モードを選ぶ
  • LDAP の {SSHA} や /etc/shadow の形式を見分ける
  • 未知のハッシュから始まる CTF の問題を解く

セキュリティ注意事項

ハッシュはローカルで解析されます。取り扱う権限のあるハッシュだけを解析してください。

よくある質問

複数のアルゴリズムが表示されるのはなぜですか?

多くのハッシュ関数が同じ長さのダイジェストを出力し(MD5、NTLM、MD4 はいずれも 128 ビット)、見た目が同じになるためです。曖昧さがないのは、プレフィックス付きの形式だけです。

アルゴリズムはどう確認できますか?

既知の入力(たとえば設定したパスワード)を、ハッシュジェネレーターで候補のアルゴリズムごとにハッシュ化して比較してください。

ハッシュを復号したり解読したりできますか?

いいえ。ハッシュは一方向です。このツールは形式を識別するだけです。

「確実」とはどういう意味ですか?

bcrypt の $2b$ や salted SHA-1 の {SSHA} のように、ハッシュ自体にアルゴリズムの識別子が含まれていて、曖昧さがないという意味です。

おすすめの次のステップ

他のカテゴリを見る