DevTool 團隊

校驗下載檔案完整性:MD5/SHA256 檔案雜湊線上計算實戰

下載的安裝包、映像檔、韌體怎麼確認沒被竄改?這篇講檔案校驗的完整流程:拿到官方校驗值、在瀏覽器裡算出檔案的 MD5/SHA256 雜湊並自動比對,順帶說清 MD5 能不能解密、md5sum 與圖形介面的替代方案。

為什麼要校驗下載檔案

從官網、鏡像站或網盤下載安裝包、系統映像檔、韌體時,檔案可能因為傳輸損壞、CDN 快取錯誤甚至惡意替換而與你以為的不一樣。發布方公布的校驗值(checksum)就是檔案的指紋:拿到檔案後重算一次雜湊,與官方值一致,即可確認位元組級相同。

流程只有三步:找到官方公布的校驗值 → 對下載的檔案算雜湊 → 比對。麻煩在第二步:裝軟體(Hashtab、QuickHash)嫌重,開命令列(md5sum、certutil)要記參數。瀏覽器裡的線上工具是最輕的路徑——但前提是它真的在本機算。

在瀏覽器裡算檔案雜湊並自動比對

MD5 線上加密工具把校驗工作流做成了三步:

  • 檔案直接拖進來:選擇或拖曳檔案(單檔上限 100MB),瀏覽器用本機 File API 在記憶體裡讀取,檔案不離開裝置;
  • 五種演算法一次全出:MD5、SHA-1、SHA-256、SHA-384、SHA-512 並排顯示——官方公布的是哪種就比對哪種,不用來回切;
  • 貼上期望值自動比對:把官方校驗值貼進比對框,大小寫不敏感、容忍首尾空白,匹配的行自動高亮,全程不用肉眼逐字元對。

文字雜湊同樣支援:貼上即算,適合校驗設定片段、API 回應這類短內容。

MD5 能解密嗎

這是被搜尋最多的相關問題,答案很明確:不能。雜湊是單向函式——從 128 位摘要推不回任意原文,數學上不存在逆運算。

網上「MD5 解密」網站的原理是預存對照表(彩虹表):提前算好海量常見字串的 MD5 存庫,你提交一個雜湊,它查表碰運氣。所以它只能「解密」123456、password 這類弱口令,對一個文件、一張圖片的雜湊無能為力。反過來說,這正是雜湊適合做完整性校驗的原因:拿到摘要推不出內容,但內容變一個位元組摘要就完全不同。

MD5 還是 SHA-256

場景 建議
校驗下載完整性(無對抗) 官方公布什麼用什麼,MD5 常見且快
內容去重、快取鍵 MD5 夠用
數位簽章、防惡意竄改 SHA-256 及以上
密碼儲存 都不用——用 bcrypt / Argon2 這類專用慢雜湊

MD5 與 SHA-1 都已被證明存在可行的碰撞攻擊(同一雜湊對應兩個不同輸入),屬於棄用演算法——日常校驗能用,安全場景不可用。

和本機命令列比怎麼樣

維度 md5sum / certutil 瀏覽器工具
上手成本 要記命令與參數 拖檔案即算
大檔案 無壓力 上限 100MB(瀏覽器記憶體邊界)
自動比對 無(肉眼對) 貼上期望值高亮匹配
演算法切換 換命令(md5sum→sha256sum) 五種並排

幾 GB 的系統映像檔還是命令列的主場;日常安裝包、壓縮包、文件校驗,瀏覽器工具更快。

常見問題

MD5 能解密嗎?

不能。雜湊是單向函式,沒有數學上的逆運算。所謂「MD5 解密」網站是預存對照表反查,只能命中 123456 這類常見短串,對任意檔案或文字無能為力——這恰恰說明雜湊適合做完整性校驗。

檔案校驗用 MD5 還是 SHA-256?

校驗下載完整性這類無對抗場景,MD5 夠用且快,官方公布什麼就比對什麼;擔心惡意構造檔案(攻擊者刻意製造碰撞)時用 SHA-256 及以上。MD5 與 SHA-1 已有可行的碰撞攻擊,安全場景一律不用。

線上工具算檔案雜湊會上傳檔案嗎?

取決於工具實作。iLoveDevTool 的 MD5 線上加密工具用瀏覽器本機 File API 在記憶體裡讀取並計算,檔案不離開裝置;無法審查程式碼的網站建議改用 md5sum、certutil 等本機命令。