ToolActToolAct

ファイル MD5 修改ツール

ランダムデータを追加してファイルのMD5値を変更、一括処理対応

ファイルをアップロード

ファイルをここにドラッグ

最大5ファイル、0ファイル選択済み

重要なお知らせ

このツールはファイルの末尾にランダムバイトを追加してMD5値を変更します。変更されたファイルの内容はわずかに変わりますが、通常は使用可能です。テキストファイルには影響しません。画像、ビデオなどのメディアファイルは再生に影響しません。実行可能プログラムは署名検証に影響する可能性があります。合法的に責任を持って使用してください。

MD5修改ツールとは?

MD5 変更ツールは、ファイル末尾に少量のランダムデータを追加することで、そのファイルの MD5 ハッシュ値を変えるツールです。MD5 はファイル全体の内容から計算されるため、数バイトの追加でもまったく別のダイジェストになります。テスト用ファイルを区別したいとき、キャッシュ挙動を確認するとき、重複検出の境界ケースを再現するとき、ハッシュ比較に依存する処理を検証するときに役立ちます。ただし、これは修復ツールでも MD5 を安全にする仕組みでもありません。末尾バイトを許容する形式でも内容は変わるため、重要な原本は別に保存すべきです。

使い方

使い方

  1. アップロードエリアをクリックするか、ファイルをページにドラッグします(最大5ファイル)
  2. 「MD5を変更」ボタンをクリックして処理を開始します
  3. 処理が完了するまで待ち、元のMD5と新しいMD5を確認します
  4. 「ダウンロード」をクリックして変更後のファイルを取得します

使用上の注意

  • ファイルのハッシュを変更すると、見た目が同じでもファイル内容は変更されます。
  • 完全性の保証・法的証拠・公的記録・署名付きリリースが関わる場面では、変更後のファイルを使用しないでください。

利用シーン

ファイルを視覚的に編集せずにハッシュ値を変更最大5つのファイルを選択またはドロップして処理すると、末尾に8バイトのランダムデータが追加されます。元のMD5と新しいMD5が並べて表示され、変更後のBlobは元のファイル名でダウンロードできます。ファイルの入出力はすべてブラウザ上のFile APIとBlob APIで処理され、ソースファイルはローカルで読み込まれ、メモリ上で8バイトが追加された変更済みコピーがダウンロード用に提供されます。サーバーへのアップロードは一切行われません。
重複排除やキャッシュ挙動のテスト一部のアップロードシステムやクラウドストレージ、キャッシュは128ビットのMD5ダイジェストでファイルを識別します。このツールを使えばバイトレベルで異なるコピーを素早く作成できるため、ほぼ同一のファイルを別々のアップロードとして扱うかどうかをQAで確認する際に便利です。アバランチ効果により、末尾の8バイトのランダムデータで出力ビットの約半分が反転し、新しいMD5は元の値と全く関係のないものになります。
ハッシュ変更の制御された実験操作がシンプルでローカル完結するため、ファイルタイプと名前は保持されつつコンテンツバイトが変更されたことを確認できます。実験や互換性テストに最適ですが、末尾バイトを拒否する厳格なファイル形式(署名付きPEバイナリ、一部の暗号化コンテナ)には向きません。ソースファイル自体はローカルマシンに残り、変更済みコピーのみがメモリ上で生成されます。
サイズが予測可能なテストフィクスチャの作成ランダム8バイトの追加によりファイルサイズの増分は極小で予測可能です。リグレッションテストで正確なバイト数を検証する必要がある場合に便利です。ケースごとに変更済みコピーを1つ生成すれば、テストストレージを膨らませることなくハッシュで区別可能なフィクスチャが得られ、8バイトの差分は数MBのサンプルファイルに対して無視できる程度です。
末尾バイト追加後のアーカイブやインストーラの動作確認変更後のBlobを使ってZIP、TAR、PNG(IEND以降を無視する仕様)、MP4、インストーラパーサーに対するスモークテストを行います。余分な末尾データを拒否するかどうかを確認できます。_consumerがファイルを拒否した場合、本番環境でのこの改変に頼るのではなく、テストハーネスでハッシュのみの回避策に切り替えてください。実行ファイルや署名付きパッケージは構造変更に特に敏感です。

仕組み

MD5変更ツールの核心的なアイデアは極めてシンプルです。ファイル末尾にNバイトのランダムデータ(通常8〜16バイト)を追加し、MD5にフルデータ全体でダイジェストを再計算させることです。アバランチ効果により、1バイトの変更でも出力ビットの約半分が反転するため、結果は元の値とまったく関係のないものになります。 末尾への追加がなぜファイルの利用可能性を損なわないのでしょうか?ほとんどのコンテナ形式(ZIP、PNG、MP4、JPEG、PDF、APK)はヘッダーで定義されたデータ領域のみを読み取り、EOF以降の余分なバイトは無視します。これは設計上の伝統によるもので、多くの形式では終了マーカーの後にコメントやカスタム拡張を許容しています。例えば、ZIPのEnd of Central Directory Recordの後には任意のバイトを続けることができ、PNGはIENDチャンク以降のデータを明示的に無視します。 追加と衝突攻撃の違い:ユーザーから「特定のMD5を計算できるか?」という質問を受けることがあります。特定のMD5を生成するには、MD5(msg1) = MD5(msg2)となる2つの異なるメッセージを見つける必要があります。これは2004年に王小雲氏が破った衝突攻撃そのものです。衝突を生成するにはGPUクラスタで数時間かかり、制御不能な特定の構造を持つメッセージが得られます。ランダムバイトの追加はO(1)の実用的な代替手段であり、トレードオフとして新しいMD5は予測不能かつ指定できないという点があります。 どこに追加するか:データの途中にランダムデータを挿入するとデータストリームが破損するため、このツールは常に末尾に追加します。追加バイト数が少なすぎ(1〜2バイト)ても技術的には問題ありませんが、結果が元の値に近くなりすぎます。8バイト以上を推奨し、衝突空間は最大2^64となります。

  • MD5アバランチ効果:入力ビットを1つ変更すると出力ビットの約50%が反転するため、どこか1バイトを変えるだけでダイジェストは完全に変わります。
  • ZIPコンテナはEnd of Central Directory以降にデータが追加されても正常に解凍できます。MP4のmdatボックスは末尾に配置されその後に余分なデータを置けます。PNGはIENDチャンク以降のデータを明示的に無視します。
  • 安全のため少なくとも8バイトを追加してください。理論上の結果空間は2^64で、衝突は事実上不可能です。
  • ターゲットMD5の指定はできません。ファイルのハッシュを特定の値にするには衝突を見つける必要があり、それは極めて高コストで制御不能です。このツールはランダムに異なるMD5を保証するだけです。
  • 数MBのファイルへの8バイト追加は無視できる程度(0.0001%未満の増加)ですが、数KBの小ファイルでは相対的な増加が目立ちます。
  • 実行ファイル、暗号化コンテナ、署名付きパッケージは構造変更に敏感です。追加により検証が失敗する可能性があるため、本番で使用する前にサンドボックスでテストしてください。

使用例

サイズが予測可能な、異なるテストデータの生成

元: report.pdf (1,024,000 bytes, MD5=8f3a7c1e...)
ランダムデータを 8 bytes 追加
新: report.pdf (1,024,008 bytes, MD5=b2e1d04a...)
ユースケース: バイト的にほぼ同じに見えるが MD5 ダイジェストが異なる 2 つの PDF を必要とする回帰テスト。8 bytes の差分でファイルサイズのアサーションを予測可能に保てる。

キャッシュテスト用にバイト単位で異なるコピーを作成

元の動画: tutorial.mp4 (500 MB, MD5=3a8b9c0d...)
ランダムデータを 16 bytes 追加
新しい動画: tutorial.mp4 (500 MB + 16 bytes, MD5=7e4f1a2b...)
ユースケース: 末尾バイトのみ異なる、意味的に同一の入力を CDN、CI アーティファクトストア、ビルドキャッシュがどう扱うかを検証する。

互換性と影響

画像 (JPEG/PNG):    通常通り表示され、ファイルサイズはほぼ変わらない
動画 (MP4/MKV):     通常通り再生され、プレイヤーは末尾データを無視
アーカイブ (ZIP/RAR): 元の構造が無傷であれば通常通り展開可能
実行ファイル (EXE):  通常は実行可能だが、デジタル署名は無効になる

よくある質問

MD5 を「改ざん」すると実際には何が起きますか?

ツールがファイルの末尾に少量の追加データを書き足すことで、ファイルのバイト列が変わり、MD5 ダイジェストも変化します。目的は別のハッシュを作ることであって、任意の目標 MD5 値を生成することではありません。修正後のコピーは元ファイルとバイト単位で同一ではなくなるため、元ファイルは必ず残してください。

なぜファイルの MD5 を変えたい人がいるのですか?

正当な用途としては、テストファイルの作成、キャッシュ無効化の挙動確認、自社システムでのアップロード重複排除ルールの検証、チェックサムが各バイトに依存することの説明などがあります。著作権検出、不正対策、マルウェア検査、プラットフォーム規約の回避目的で使ってはいけません。

ファイルが壊れたり読み取れなくなったりしませんか?

多くの場合は壊れません。多くのメディア形式は無害な末尾バイトを無視するためです。一方、署名付き PDF、実行ファイル、アーカイブ、内部チェックサムを持つファイルなどの厳密なフォーマットでは、バイトが追加されると検証に失敗することがあります。出力ファイルは使用前にテストし、元ファイルは必ず別に保管してください。

任意の目標 MD5 を作れますか?

通常用途では無理です。バイトを追加するだけで任意の MD5 を一致させることは計算量的に現実的ではありません。本ページは元ファイルと異なるダイジェストを得るだけで、選択プレフィックス衝突の生成ツールでも、指定ハッシュに一致させるツールでもありません。

MD5 衝突攻撃と関係がありますか?

ありません。衝突攻撃は同じ MD5 を持つ 2 つの異なる入力を作る攻撃ですが、このツールは逆で、1 つのファイルの MD5 を別の値に変えるだけです。MD5 はセキュリティ用途の署名や完全性保証には引き続き不適切です。

修正後のファイルは他のハッシュ検証を通りますか?

通りません。SHA-1、SHA-256、CRC、ファイルサイズ、フォーマット固有の各種検証も変わります。相手側が SHA-256 や電子署名で検証している場合、修正後のコピーは元ファイルと一致しません。

このツールを使うのは合法ですか?

自分のファイルをテストや学習目的で改変するのは通常問題ありません。しかし、改ざんしたファイルで著作権チェック、不正対策、ウイルス検知、アクセス制御、プラットフォーム規約を回避すると、違法になったり利用規約違反となる場合があります。テストする権限を持つファイルとシステムに対してのみ使用してください。