檔案雜湊計算|用MD5・SHA-1・SHA-256・SHA-512驗證下載檔案是否被篡改
拖放檔案即可一次性計算MD5・SHA-1・SHA-256・SHA-512雜湊值。與釋出方公開的校驗值比對,確認下載的檔案未損壞或被篡改。檔案不會上傳到伺服器。
雜湊演算法對照表
| 演算法 | 輸出位數 | 十六進位制字元數 | 主要用途 |
|---|---|---|---|
| MD5 | 128位 | 32個字元 | 僅適合輕量級完整性檢查。密碼學安全性已被攻破,不可用於密碼儲存或數字簽名 |
| SHA1 | 160位 | 40個字元 | 比MD5更安全,但碰撞攻擊已被證實。仍用於Git提交雜湊等非安全場景 |
| SHA256 | 256位 | 64個字元 | 目前仍被認為安全,是驗證軟體下載完整性最常用的標準演算法 |
| SHA512 | 512位 | 128個字元 | 輸出比SHA-256更長,在64位CPU上有時計算速度更快 |
檔案雜湊驗證小貼士
- 如果釋出方沒有說明使用了哪種演算法,只需將雜湊值貼上到比對欄,即可自動判斷匹配的演算法。
- 較大的檔案(數百MB以上)會佔用較多瀏覽器記憶體,計算可能需要幾秒到一分鐘,請保持標籤頁開啟。
- ISO映象、安裝程式等一旦被篡改危害較大的檔案,建議養成核對雜湊值的習慣。
- MD5・SHA-1已被證實存在碰撞攻擊,不適合用於檢測惡意篡改。對安全性要求高的場景請使用SHA-256及以上演算法。
常見問題
請先重新核對官方雜湊值,確認沒有複製錯誤(如混入換行符或多餘空格)。如果仍不一致,檔案可能已損壞或被篡改,強烈建議不要執行該檔案並刪除,然後從官方網站重新下載。
以釋出方公開的演算法為準。如果公開了多種演算法,建議優先選擇更安全的SHA-256或SHA-512。MD5・SHA-1的密碼學安全性已被攻破,不足以檢測惡意篡改。
兩者的演算法完全相同,區別僅在於計算物件是文本字串還是二進位制檔案。如需計算文本字串的雜湊值,請使用姊妹工具文本雜湊一鍵計算。
只要瀏覽器有足夠的可用記憶體即可計算,但由於會將整個檔案一次性讀入記憶體,數GB規模的超大檔案可能導致瀏覽器變慢甚至失敗。
閒話 ― 為什麼官方網站要公開雜湊值
您可能在軟體網站的下載連結旁見過類似"SHA256: a1b2c3..."的雜湊值。這是為了讓使用者能夠自行驗證:這個檔案確實是釋出者建立的原始檔案,在傳輸過程中未損壞,也未在映象伺服器上被篡改。
這一點在Linux發行版的ISO映象分發中尤為重要,因為使用者通常通過分佈在世界各地的映象伺服器下載。除了普通的傳輸錯誤外,理論上還存在惡意攻擊者入侵映象伺服器、分發含有惡意軟體的篡改版本的風險。如果官方網站公開了經過簽名的雜湊值列表(通常附有GPG簽名),使用者無論從哪個映象下載,只需在本地計算雜湊值並比對,就能驗證安全性。
雜湊函式具有"雪崩效應":即使輸入只改變一個位元,輸出也會截然不同。這使得無論是蓄意篡改還是下載過程中的細微損壞,都能被可靠地檢測出來。即使兩個檔案大小相同,只要有一個位元組不同,雜湊值就會完全不同,因此比單純核對檔案大小可靠得多。