MD4ジェネレーター
MD4ジェネレーター・ツールで任意の文字列入力からMD4ハッシュを作成し、安全なデータハッシュ化を実現します。

MD4ジェネレーターは、入力した任意の文字列から128ビットのMD4ハッシュを生成し、MD4 Hash欄に表示する無料ツールです。
MD4ハッシュとは?今でも安全に使える?
MD4ハッシュは、データから生成される固定長のフィンガープリントです。ただし、MD4の暗号学的な安全性はすでに破られているため、セキュリティが重要な用途には使用できません。MD4は長さを問わず入力を固定長のダイジェストに変換します。一方向に処理するよう設計されており、結果に元の入力そのものは含まれません。
MD4は、Ronald Rivestが1990年に設計しました。128ビットのダイジェストを生成し、通常は32文字の16進数で表されます。また、32ビットコンピューターで高速に動作するよう設計されました。MD4はMD5を含む後発のアルゴリズムに影響を与えましたが、公開後まもなく、衝突に関する重大な脆弱性が研究者によって発見されました。現実的な衝突攻撃が可能なため、攻撃者は同じMD4ダイジェストになる異なる入力を作成できます。
MD4は暗号学的に安全ではないため、デジタル署名、証明書、認証、ソフトウェア検証のほか、攻撃者がデータを変更できる可能性のある整合性チェックには使用できません。パスワードの保存にも使用してはいけません。現在のパスワード保存では、Argon2id、scrypt、bcrypt、PBKDF2など、ソルトを使用し、意図的に低速化されたパスワードハッシュ関数が必要です。

MD4ジェネレーターの使い方は?
ハッシュ化したい文字列を正確に入力して結果を生成し、MD4 Hashに表示された値をコピーしてください。MD4ダイジェストはアルゴリズムに渡された入力バイトを表すため、わずかな違いでも結果が変わります。
- 意図しない空白、改行、コピー元の書式がテキストに含まれていないか確認します。
- 文字列を入力し、ジェネレーターを実行します。
- MD4 Hashから128ビットの結果をコピーします。
- 別の値と比較する場合は、両方のシステムで同じ文字エンコーディングと入力バイトが使われたことを確認します。

たとえば、文字列invoice-042からは1つの128ビットMD4ダイジェストが生成され、一般に32文字の16進数で表示されます。入力をinvoice-043に変えると、異なるダイジェストになります。入力が1文字だけでも長い文章でも、ダイジェストの長さは変わりません。
処理はサーバー上で行われます。入力内容はHTTPS経由でサーバーへ送信され、保存されません。処理のためにテキストが端末の外へ送られるので、パスワード、認証トークン、秘密鍵、その他の機密情報は入力しないでください。
MD4は復号したり元に戻したりできる?
MD4ハッシュは復号できません。ハッシュ化は暗号化ではなく、復号鍵も存在しないためです。MD4は固定長の128ビット結果を生成する過程で情報を失うので、ダイジェストには復元可能な元の入力データが含まれていません。
ただし、MD4ダイジェストが秘密になるわけではありません。攻撃者は入力の候補を推測し、それぞれをハッシュ化して結果を比較できます。短いパスワード、よく使われる語句、電話番号、推測しやすい識別子は、辞書検索や事前計算済みリストから見つかることがよくあります。MD4の衝突攻撃と逆算攻撃は別のものです。衝突攻撃では同じハッシュになる2つの入力を探しますが、逆算攻撃では既知のハッシュに対応する特定の入力を突き止めようとします。

MD4が今も使われている場面
MD4は主に、互換性を損なわずに変更できない古いシステムや形式で残っています。今も利用例があるからといって、新しいセキュリティ設計に適しているわけではありません。
- 従来のWindows認証では、NTハッシュ形式の一部としてMD4が使われます。これは互換性を保つための要件であり、推奨されるパスワード保存方式ではありません。
- eDonkeyとeMuleの識別子では、ed2k方式でMD4ベースのファイルハッシュとチャンクハッシュが使われます。
- 古いチェックサム記録では、アーカイブ済みファイルを過去に公開された値と照合する際にMD4が必要になる場合があります。
- 閉じた環境の重複排除処理では、入力が信頼でき、悪意のある衝突への耐性よりも既存インデックスとの互換性が重視される場合にMD4が残っていることがあります。
新しいチェックサムや整合性確認システムには、SHA-256やSHA-3など、現在利用できるMD4以外の方式を使用してください。MD5もすでに破られているため、MD4からMD5へ移行しても衝突の問題は解決しません。MD5ジェネレーターが役立つのは、従来の形式でMD5が明示的に必要な場合に限られます。Whirlpoolジェネレーターは、既存の仕様でWhirlpoolが指定されている場合に使用できます。
MD4の結果が異なるのはなぜ?
表示上のテキストが同じように見えても、元の入力バイトが異なればMD4の結果も異なります。どちらかの結果が間違っていると判断する前に、エンコーディング、空白、句読点を確認してください。
- 先頭と末尾の空白もデータの一部なので、ダイジェストが変わります。
- WindowsとUnixでは改行コードのバイト列が異なるため、コピーした複数行のテキストから別のハッシュが生成されることがあります。
- 大文字と小文字は異なる入力として扱われます。
- アクセント付き文字には、見た目が同じでも異なるバイトを使うUnicodeの合成形と分解形があります。
- テキストをバイトに変換する際の文字エンコーディングによって結果が変わります。
- 00123のような数値も、文字列として渡せばテキストとしてハッシュ化されます。先頭のゼロを削除すると入力が変わります。
- 空のバイト列にも有効なMD4ダイジェストがありますが、インターフェースによっては実行前に入力を求められる場合があります。
入力の長さにかかわらず、MD4が返す結果は常に128ビットです。非常に長い入力でも、固定されたダイジェストのサイズから処理したテキストやデータの量は分かりません。
よくある質問
MD4とMD5は同じもの?
いいえ。MD5はRonald Rivestが1992年に公開した、MD4より後のアルゴリズムです。どちらも128ビットのダイジェストを生成しますが、出力に互換性はなく、両方に現実的な衝突の脆弱性があります。
MD4ダイジェストの大文字と小文字は区別される?
16進数表記の大文字と小文字は、同じダイジェストバイトを表せます。たとえば、16進数の文字A–Fとa–fは同じ数値です。ただし、ソフトウェアによってはテキストを大文字と小文字を区別して比較します。必要に応じて表記を統一するか、デコードしたバイト同士を比較してください。
WindowsのNTハッシュでMD4が使われるのはなぜ?
NTハッシュは、パスワードをUTF-16LEでエンコードし、MD4で処理して計算します。この形式はソルトを使用せず、計算も高速なため、取得されたハッシュは推測攻撃に対して脆弱です。また、一部の従来型認証環境ではパス・ザ・ハッシュ攻撃も可能です。この場合、パスワードを復元しなくても、ハッシュを入手するだけで認証できることがあります。
MD4をメッセージ認証コードとして使える?
メッセージの先頭に秘密情報を付加してMD4でハッシュ化する単純な方式は安全ではありません。理由の1つは、MD4に長さ拡張の性質があることです。古い仕様の中にはHMAC-MD4を定義しているものもありますが、避けられない互換性維持の用途だけに限定してください。新しいシステムでは、HMAC-SHA-256など、現在利用されているHMAC方式を使用すべきです。
このジェネレーターでファイルのMD4を計算できる?
このツールは文字列入力向けに定められているため、ファイルの内容を貼り付けても、元のファイルバイトをハッシュ化した場合と同じになるとは限りません。バイナリファイル、文字変換、改行コードの変更はいずれも異なる結果の原因になります。従来のファイルチェックサムを計算する場合は、MD4に明示的に対応したローカルのファイルハッシュツールを使い、期待される値がファイル全体を対象にしているのか、ed2kのようなチャンク形式を対象にしているのか確認してください。
類似のツール
人気のツール
Digily LinkのIPルックアップツールは、任意のIPアドレスに関する詳細情報を提供します。この無料オンラインサービスを利用して、包括的なIPデータを取得してください。
WhatsAppリンクジェネレーターで無料のWhatsAppリンクを即座に生成します。カスタムメッセージを追加して、ワンクリックでチャットを開始できます。ログインやコーディングは不要です。