MD5 ハッシュ — テキストから MD5 ハッシュを生成
テキスト入力から MD5 ハッシュを生成。32 文字の hex ダイジェストをブラウザだけで実行 — アップロードもサーバー通信も不要。
MD5 Hash Generator
Generate MD5 hashes from text. Works entirely in your browser using Web Crypto API.
MD5 は最も有名な「破られた」暗号学的ハッシュ関数です。1991 年に Ron Rivest によって設計され、ファイル整合性チェックとデジタル署名のための高速な 128 bit ダイジェストとして、10 年間にわたりその役割を担いました。2004 年、Xiaoyun Wang 率いるチームが初の衝突攻撃を実証しました: 異なる 2 つの 128 byte 入力が同じ MD5 ハッシュを生成するというものです。2007 年には Marc Stevens らが選択プレフィックス衝突を実証し、攻撃者は異なる 2 つの文書 (例: 異なる 2 枚の SSL 証明書) を MD5 ハッシュが衝突するように作成できるようになりました。それ以来、MD5 はセキュリティが関わるあらゆる用途から締め出され、Web は SHA-256 へと移行しました。
セキュリティ面では破られていても、MD5 が生き残っている理由はひとつあります。それは、高速で単純であり、レガシーシステムに深く埋め込まれているからです。キャッシュキーの重複排除、非セキュリティ目的のファイル整合性チェック、そして MD5 ダイジェストを要求するレガシー API が、2026 年における 3 つの正当なユースケースです。新規システムを組む場合、最低限許容されるハッシュ関数は SHA-256 です。パスワードハッシュ化については、最低でもコストファクタ 12 以上の bcrypt、または推奨メモリと反復回数の Argon2id が必要です。MD5 をパスワードに使うのは、少なくとも 2010 年以来、許されない選択肢です。
MD5 ハッシュツールは Web Crypto API を使ってブラウザ内でダイジェストを算出します (ブラウザが API をサポートしない場合は高速な純粋 JavaScript 実装にフォールバック) し、32 文字の hex ダイジェストを即座に表示します。比較機能を使えば 2 つのハッシュを並べて貼り付け、2 つのテキストが一致するかをチェックできます。ファイル内容が重要になる整合性チェックでは、本サイトの SHA-256 ツールをお使いください。こちらはアップロードせず、ブラウザ内でファイルのバイトを直接読み取ってハッシュ化します。
使い方
テキストを输入する
ハッシュ化したい文本をタイプ或いはペースト。タイピング中はリアルタイムにハッシュが更新される。ファイルパスを貼り付けたい場合でも、本ツールはファイルではなくテキストをハッシュ化する。ファイル整合性のチェックには SHA-256 を使ってください。
MD5 ダイジェストをコピーする
32 文字の十六進ダイジェストがすぐに表示されます。ワンクリックでコピーできます。出力はデフォルトで小文字 hex。出力オプションの「uppercase」を切り替えると大文字 hex を出力できます。
2 つのハッシュを比較する
「compare」フィールドに 2 つ目のハッシュを貼り込み、2 つのテキストが同じ MD5 ダイジェストになるかをチェックします。比較は大文字小文字を区別せず、一致/不一致をハイライト表示します。
よくある質問
なぜ MD5 をパスワードに使ってはいけないのか?
MD5 は暗号学的に破綻しており、絶対にパスワードのハッシュ化に使ってはいけません。2004 年に、異なる 2 つの入力が同じ MD5 ハッシュになる衝突攻撃が実証され、2007 年には選択プレフィックス衝突も実証されました。パスワードのハッシュ化には bcrypt、scrypt、または Argon2id を使い、MD5 は決して使わないでください。
MD5 は今なお何に役立つのか?
MD5 は非セキュリティ目的のチェックサムには今も使われています: 偶発的な破損に対するファイル整合性の検証 (故意の改ざんは対象外)、キャッシュキーの重複排除、そして MD5 ダイジェストを要求するレガシーシステムとの互換性です。セキュリティが絡む整合性チェックには SHA-256 を使ってください。
出力フォーマットは何ですか?
出力は 32 文字の小文字十六進文字列です。MD5 は 128 bit (16 byte) のダイジェストを生成し、それを 32 文字の hex で表現します。大文字出力が必要なら、出力オプションの「uppercase」を切り替えてください。
ファイルのハッシュ化はできますか?
できません。本ツールは貼り付けたテキスト文字列をハッシュ化するものです。ファイルのハッシュ化には、本サイトの SHA-256 ツールをお使いください。これはブラウザ内でファイルのバイトを直接読み取り、アップロードせずにハッシュ化します。または OS 標準のツール (macOS の `md5`、Windows の `CertUtil`、Linux の `md5sum`) を使う方法もあります。
「衝突攻撃」とはどういう意味ですか?
衝突とは、異なる 2 つの入力が同じ MD5 ハッシュになることです。衝突攻撃とは、そのようなペアを偶然より高速に意図的に発見する手法です。MD5 の衝突耐性は 2004 年に Wang らによって破られ、それ以来完全に失われています。これが、MD5 がセキュリティ目的には一切使えず、レガシーチェックサムにのみ使われる理由です。
制限事項
- 暗号学的セキュリティには使えないMD5 は衝突耐性について破綻しています。MD5 は決してパスワード保管、デジタル署名、SSL 証明書、あるいは攻撃者が指定されたハッシュに一致する 2 番目の入力を探そうとする可能性のある目的に使ってはいけません。SHA-256 または現代的なパスワードハッシュアルゴリズムを使ってください。
- テキストのみ、ファイルハッシュは不可ハッシュは貼り付けたテキスト文字列に対して計算されます。ファイルハッシュ化には SHA-256 ツールをお使いください。こちらはブラウザ内でファイルのバイトを直接読み取ります。
- HMAC-MD5 には非対応HMAC (Hash-based Message Authentication Code) はハッシュ関数に秘密鍵を組み合わせる仕組みです。本ツールは素の MD5 ダイジェストのみを計算します。鍵付き HMAC が必要な場合は、専用の HMAC ツールまたはライブラリを使ってください。
プラットフォーム別の注意点
- macOS
- macOS のターミナルコマンドは `md5 -s 'your text'`、ファイルのハッシュ化は `md5 filename` です。都度ターミナルを開かずにハッシュ化したい場合は、ブラウザツールが適しています。
- Windows
- PowerShell での同等のコマンド: `[System.BitConverter]::ToString([System.Security.Cryptography.MD5]::Create().ComputeHash([System.Text.Encoding]::UTF8.GetBytes('text')))`。都度ハッシュ化する用途ではブラウザツールのほうが手軽です。
- Linux
- CLI での同等コマンドは `echo -n 'text' | md5sum` です。システムの md5sum が使えない場面や、シェル履歴にテキストを残したくない場合は、ブラウザツールが都度ハッシュ化に適しています。
- Web
- 完全にクライアントサイドで動作します。ネットワークリクエストは一切発生しません。実用的な長さのテキストなら、ハッシュ計算はほぼ一瞬で終わります。