piapia123
ja

ハッシュ種別判定

Web

処理はすべてブラウザ内で完結します。データは送信されません

入力
ファイルをここにドロップすると読み込めます
出力

ハッシュ値を手にしたとき、最初の疑問はたいてい「これは何のアルゴリズムか」です。本ツールは長さと文字種から候補となるアルゴリズムを列挙します。MD5、SHA ファミリー、SHA3、BLAKE、RIPEMD、CRC に加え、bcrypt、argon2、scrypt、crypt 系、MySQL、Django など 40 種以上に対応します。 ⚠️ 返すのは候補であり結論ではありません。32 文字の 16 進は MD5 かもしれないし NTLM、MD4、LM かもしれません。長さも文字種も同じなので、文字列だけでは永遠に区別できません。確実に判定できるのは接頭辞つきの形式だけです(`$2b$` は bcrypt、`$argon2` は argon2、`*` + 40 桁の 16 進は MySQL 4.1)。接頭辞は形式の一部だからです。確かめるには出所を見るか、元の文字列を各アルゴリズムで計算して照合するしかありません。 処理はすべてブラウザ内で完結し、貼り付けたハッシュはページから出ません。

機能

  • 長さ + 文字種で判定、40 種以上のアルゴリズム
  • 16 進・Base64・Base64URL・ハイフン付き UUID が混在していても行ごとに判定
  • 接頭辞つき(bcrypt / argon2 / scrypt / crypt / Django / MySQL)は接頭辞で判定し、長さの分岐に混ぜない
  • 候補を可能性の高中低で色分け
  • 「長さが同じものは区別できない」ことを明示
  • 名前のみ表示、または根拠つき表示を選択可能
  • 1 行ずつコピー、またはすべてコピー

使い方

  1. 1 行に 1 つのハッシュ値を貼り付けます(複数行可)
  2. 結果に長さ・文字種・候補アルゴリズムが表示されます
  3. 根拠を確認する場合は「根拠を表示」をオンのままにします
  4. 名前だけ見たいときは「アルゴリズム名のみ」に切り替えます

よくある質問

MD5 だと確定できますか?
できません。どのツールでも無理です。長さと文字種が同じなら、MD5・NTLM・MD4・LM の出力は見分けがつかず、人にもプログラムにも文字列だけでは区別できません。したがって本ツールは候補を可能性順に並べるものです。確実に判定できるのは接頭辞つきの形式(bcrypt、argon2、crypt、Django、MySQL 4.1)だけです。
確実にアルゴリズムを特定するには?
二つの方法があります。一つは出所を見ること(データベースの列名、エクスポートの説明、コードが呼ぶ関数)。もう一つは元の平文を各アルゴリズムで計算し、この値と一致するものを探すことです。照合だけが信頼できる判定です。
数字だけの文字列もハッシュとして扱うのはなぜ?
偶数長の数字列は、有効な 16 進(一部のダイジェスト長に一致)であると同時に Cisco type 7 パスワードの形でもあるからです。両方を候補に挙げます — これも「形が同じなら区別できない」一例です。
ハッシュは送信されますか?
いいえ。判定は文字列の長さと文字種だけで、ブラウザ内で完結します。データベース照会も通信も行いません。

関連ツール