檔案 MD5 修改器
通過追加隨機資料修改檔案 MD5 值,支援批次處理
拖曳檔案到此處
最多選擇 5 個檔案,已選擇 0 個
此工具通過在檔案末尾追加隨機位元組來改變檔案的 MD5 值。修改後的檔案內容會略有變化,但通常不影響正常使用。對於文字檔案無影響;對於圖片、影片等媒體檔案,追加的資料不會影響播放;對於可執行程式,可能會影響簽章驗證。請在合法合規的前提下使用。
什麼是 MD5 修改器?
MD5 修改器會在檔案末尾追加少量隨機資料,讓檔案的 MD5 雜湊值發生變化。因為 MD5 是根據完整檔案內容計算的,即使只增加幾個位元組,也會得到完全不同的摘要。它適合製作可區分的測試檔、驗證快取行為、模擬重複檔案偵測的邊界情況,或除錯依賴雜湊比對的流程。它不是檔案修復工具,也不能讓 MD5 變得安全;檔案內容確實被改動,只是某些格式可能仍能正常開啟。重要正本應保留未修改副本。
使用方式
使用方式
- 點選上傳區域或將檔案拖曳至頁面(最多 5 個檔案)
- 點選「修改 MD5」按鈕開始處理
- 等待處理完成,檢視原始與新的 MD5 值
- 點選「下載」取得修改後的檔案
請謹慎使用
- 變更檔案雜湊值代表檔案內容已改變,即使肉眼看不出圖片或檔案的差異。
- 請勿在涉及完整性、法律證據、歸檔紀錄或已簽署發佈等情境下使用修改過的檔案。
使用場景
技術原理
MD5 修改器的核心概念極其簡單:在檔案末尾追加 N 個隨機位元組(通常 8-16 個),讓 MD5 重新計算完整資料的摘要。得益於雪崩效應,任何一個位元組的變更都會翻轉大約一半的輸出位元,因此結果看起來完全不同。 為什麼在末尾追加能保持可用性?大多數容器格式(ZIP、PNG、MP4、JPEG、PDF、APK)只讀取標頭定義的資料區域,忽略 EOF 之後的額外位元組。這源於一種設計傳統:許多格式允許在結束標記之後放置註解或自訂擴充。例如,ZIP 的中央目錄結束記錄之後可以跟隨任意位元組,PNG 明確忽略 IEND 區塊之後的所有內容。 追加與碰撞攻擊:使用者有時會問能否計算出特定的 MD5。這需要找到兩個不同的訊息使得 MD5(msg1) = MD5(msg2)——正是王小雲在 2004 年破解的碰撞攻擊。產生碰撞需要在 GPU 叢集上花費數小時,且產生的訊息具有不可控制的特定結構。追加隨機位元組是 O(1) 的實用替代方案;代價是新的 MD5 無法預測且不能指定。 追加位置:在中間插入隨機資料會破壞資料流,因此本工具始終在末尾追加。追加太少位元組(1-2 個)技術上可行但結果與原始值過於接近;建議至少 8 個位元組,碰撞空間可達 2^64。
- MD5 雪崩效應:變更 1 個輸入位元會翻轉約 50% 的輸出位元,因此任何位置的單一位元組變更都會完全改變摘要。
- ZIP 容器在中央目錄結束之後追加資料仍可正常解壓縮;MP4 的 mdat box 可放在末尾,後面跟隨額外資料;PNG 明確忽略 IEND 區塊之後的所有內容。
- 至少追加 8 個位元組以確保安全;理論上結果空間為 2^64,碰撞機率微乎其微。
- 無法指定目標 MD5:要讓檔案雜湊到特定值需要進行碰撞攻擊,代價極高且不可控。本工具僅保證產生隨機不同的 MD5。
- 對數 MB 的檔案追加 8 個位元組幾乎可忽略不計(增長不到 0.0001%),但對幾 KB 的小檔案,相對增長較為明顯。
- 可執行檔、加密容器和已簽署的套件對結構變更特別敏感;追加可能導致驗證失效,使用前應在沙箱中測試。
範例
產生大小可預期的不同測試檔案
原始檔: report.pdf(1,024,000 位元組,MD5=8f3a7c1e...)
附加 8 位元組隨機資料
新檔案: report.pdf(1,024,008 位元組,MD5=b2e1d04a...)
使用情境:迴歸測試需要兩個看起來位元組相同但 MD5 摘要不同的 PDF;8 位元組差異讓檔案大小斷言保持可預期。為快取測試建立位元組相異的副本
原始影片: tutorial.mp4(500 MB,MD5=3a8b9c0d...)
附加 16 位元組隨機資料
新影片: tutorial.mp4(500 MB + 16 位元組,MD5=7e4f1a2b...)
使用情境: 驗證 CDN、CI 產出物儲存或建置快取在收到兩份語意相同、僅尾端位元組不同的輸入時的行為。相容性與影響
圖片(JPEG/PNG): 顯示正常,檔案大小幾乎不變
影片(MP4/MKV): 播放正常,播放器會忽略尾端資料
壓縮檔(ZIP/RAR):只要原始結構完好就能正常解壓
執行檔(EXE): 通常仍可執行,但數位簽章會失效常見問題
「修改」MD5 實際上做了什麼?
工具會在檔案末尾追加少量額外位元組,讓檔案內容發生變化,因此 MD5 摘要也會隨之變化。目的是讓雜湊值變得不一樣,而不是產生你指定的 MD5 值。請保留原始檔案,因為修改後的副本已經不再與原檔逐位元組一致。
為什麼有人想修改檔案的 MD5?
常見的合理用途包括:製作不同的測試檔、檢查快取失效行為、在自己系統上驗證上傳去重邏輯,或示範雜湊值依賴於每一個位元組。請不要用修改後的雜湊去繞過版權識別、反作弊、防毒掃描或平台規則。
修改後的檔案會壞掉或無法讀取嗎?
通常不會,因為很多媒體格式會忽略檔尾的無害位元組。但已簽章的 PDF、執行檔、壓縮檔以及含內部校驗的檔案,在追加任何位元組後都可能驗證失敗。使用前先測試輸出檔,並保留一份未修改的原始檔。
可以產生指定的目標 MD5 嗎?
一般情況下不行。透過追加位元組命中任意目標 MD5 在運算上不可行。本頁面只是讓摘要與原檔不同,不是「選定前綴」碰撞產生器,也不是匹配指定雜湊的工具。
這跟 MD5 碰撞攻擊有關嗎?
沒有關係。碰撞攻擊是構造兩個 MD5 相同的不同輸入;本工具做相反的事——修改一個檔案讓它的 MD5 變得不同。MD5 仍然不適合用於安全性簽章或完整性保證。
修改後的檔案能通過其他雜湊校驗嗎?
不能。SHA-1、SHA-256、CRC、檔案大小以及許多格式特定的校驗都會發生變化。如果對端使用 SHA-256 或數位簽章進行校驗,修改後的副本不會與原檔相符。
使用這個工具合法嗎?
修改自己的檔案做測試或學習通常沒有問題。但用修改過的檔案去繞過版權系統、反作弊、防毒偵測、存取控制或平台條款,可能違法或違反服務規則。請只在自己有權限測試的檔案和系統上使用。