檔案雜湊校驗

檔案

可与下方「校验期望值」比对;变更算法后需重新计算。

在瀏覽器中計算本地檔案的 MD5、SHA-1、SHA-256、SHA-512 雜湊值,可一鍵複製或貼上官網期望值自動比對,適合下載校驗、版本對比與電子證據取證。

相關推薦

什麼是檔案雜湊?

檔案雜湊(File Hash)是把任意檔案內容透過雜湊演算法映射成固定長度字串的「數位指紋」。同一份檔案每次計算都會得到相同結果,內容有任何變動都會讓雜湊值完全不同。

典型用途:①下載完成後對比官方雜湊,確認檔案沒被竄改;②版本管理——Git / SVN 用 SHA-1 標識每次提交;③檔案對比——快速判斷兩個檔案是否相同;④數位取證——把檔案雜湊作為電子證據的完整性證明。

本工具支援的演算法:MD5(128 位元,已不抗碰撞)、SHA-1(160 位元,已被 Google 公開碰撞)、SHA-256(256 位元,主流推薦)、SHA-512 系列(512 位元 / SHA-384 / SHA-512/256,安全性更高)。雜湊和加密不同:雜湊是單向的,無法從雜湊值反推檔案內容。

適用場景

  • 下載軟體、鏡像、韌體後,對比官網公布的 MD5 / SHA-256 雜湊,確認檔案沒被植入後門或傳輸損壞。
  • 傳送大檔案給同事前先算好雜湊,讓對方收到後再算一次並比對,確保傳輸過程沒有損壞。
  • 為合約、報價單、掃描件等電子證據產生 SHA-256 雜湊存檔,作為後續「未被竄改」的證明依據。
  • 對比同一份素材的兩個版本(修改前 / 修改後),先用雜湊確認它們是否完全相同,再決定要不要重新發送。
  • Git 倉庫、備份包或鏡像節點之間做一致性巡檢:算一遍 SHA-256 就能快速判斷各節點是否同步。

使用方法

  1. 點擊上傳區,選擇本地任意檔案(一次處理一個檔案)。
  2. 工具自動開始計算雜湊,進度條會即時顯示百分比,檔案越大等待時間越長。
  3. 查看右側的雜湊結果,根據需要切換演算法、大寫 / 小寫或 SHA-512 系列細分變體。
  4. 把官方或對方提供的期望值貼到「校驗期望值」輸入框,工具會立刻顯示匹配或不匹配。
  5. 點「複製雜湊」按鈕把結果儲存到剪貼簿,或點「重新計算」刷新當前檔案。

功能特點

  • 本地計算保護隱私:所有雜湊運算都在當前瀏覽器中完成,檔案不會上傳到伺服器。
  • 四大主流演算法:MD5、SHA-1、SHA-256、SHA-512,涵蓋絕大多數下載校驗與檔案指紋場景。
  • SHA-512 系列細分:可在 SHA-512、SHA-384、SHA-512/256 之間切換,匹配不同長度的期望值。
  • 大寫 / 小寫一鍵切換:預設小寫輸出,對比 Windows 工具或官方大寫雜湊時勾選即可。
  • 貼上期望值自動比對:把官方提供的雜湊貼到「校驗期望值」輸入框,立即顯示匹配或不一致結果。
  • 即時進度條:大檔案分塊讀取計算,百分比即時更新,不卡死瀏覽器。
  • 一鍵複製雜湊值:計算完成後點複製按鈕,結果直接進剪貼簿,方便回填到校驗表或 LINE 對話視窗。

最佳实践

校驗下載檔案優先用 SHA-256

官網公布的現代軟體、Linux 發行版、容器鏡像幾乎都提供 SHA-256。MD5 只在官網明確給出 MD5 且你能確認來源可信時再用,避免因演算法弱點承擔不必要的風險。

對比時忽略雜湊值的大小寫

雜湊演算法本身沒有大小寫概念,工具預設輸出小寫,但 Linux / macOS 命令列多是小寫,Windows 校驗工具有時顯示大寫。遇到不一致先看是不是只是大小寫不同,避免誤判檔案損壞。

雜湊值應包含完整檔案內容

壓縮檔、多檔案封存、ISO 鏡像要先在「完整狀態」下計算雜湊。如果先解壓再雜湊,只能證明「這一份解壓後的內容」是對的,無法證明壓縮檔本身沒問題。

電子證據場景同時存雜湊與簽章

SHA-256 雜湊只能證明「檔案完整性」,無法證明「誰發的」。需要對外作為電子證據時,最好在雜湊之外再疊加發送方數位簽章或可信第三方時間戳,單獨雜湊並不足以構成完整證據鏈。

超大檔案或裝置效能不夠時換工具

本工具適合 GB 級別以下的常見檔案。極端大檔案或老舊裝置上分塊計算會很慢,此時更適合用本地 openssl dgst、certutil 或系統內建 sha256sum 在命令列快速完成。

需要帶密鑰的完整性校驗時改用 HMAC

檔案雜湊只校驗內容完整性,不校驗發送方身分。如果你要確認「這份檔案來自我信任的來源且沒被竄改」,應該用 HMAC 產生器搭配共用密鑰做雜湊鏈,而不是普通檔案雜湊。

常見問題

MD5 和 SHA-256 怎麼選?

日常下載校驗、版本對比、檔案去重選 SHA-256 更穩。MD5 只在對方只提供 MD5、或你確認場景不涉及安全(例如本地檔案去重)時再用。安全敏感場景(電子證據、韌體校驗)請堅持用 SHA-256 及以上。

雜湊值大小寫不一致算校驗失敗嗎?

不算。雜湊演算法本身沒有大小寫概念,只是展示方式不同。本工具預設輸出小寫,遇到大寫期望值時勾選「大寫輸出」再算一次即可。比較時請忽略大小寫,只看字元本身是否完全一致。

為什麼我的雜湊值和官方公布的不一致?

常見原因:①下載過程中檔案損壞,重新下載;②你下載的版本和官方雜湊對應的版本不一致(核對版本號、檔名、分卷編號);③你只算了壓縮檔的一部分內容;④官方公布的是另一種演算法(如你用了 MD5,對方公布的是 SHA-256)。

這個工具支援 SHA-224、BLAKE2、SM3 嗎?

目前支援 MD5、SHA-1、SHA-256,以及 SHA-512 系列(SHA-512、SHA-384、SHA-512/256)。暫不支援 SHA-224、BLAKE2、SM3 等演算法。如果你需要這些演算法,建議改用本地命令列工具(openssl、sha256sum 等)。

檔案會上傳到伺服器嗎?安全嗎?

不會。本工具使用 crypto-js 在瀏覽器本地分塊計算雜湊,檔案內容始終留在你的裝置與瀏覽器記憶體裡,不發送到任何遠端伺服器。處理敏感文件、合約、韌體都可以放心使用。

一次能算多個檔案嗎?

當前頁面一次處理一個檔案。如果需要批次校驗,可以重複操作,或換用本地命令列工具(Windows 上 certutil -hashfile,macOS / Linux 上 md5sum / shasum)一次列出多個檔案雜湊。

SHA-512 和 SHA-384 應該選哪個?

對方明確提供 SHA-384 時選 SHA-384;其他需要「更安全」的場景預設選 SHA-512。SHA-512/256 輸出長度和 SHA-256 一樣(64 字元),但內部用 SHA-512 壓縮函式,適合在限制輸出長度的系統裡獲得更強的抗碰撞能力。

雜湊和數位簽章有什麼區別?

雜湊只驗證「檔案內容是否完整」,無法證明「是誰發的」。數位簽章 = 雜湊 + 用發送方私鑰加密,驗簽方用公鑰解密就能同時驗證完整性和發送方身分。需要證明來源時,應在雜湊之外再做一次簽章校驗。

大檔案雜湊會卡住瀏覽器嗎?

本工具使用 2MB 分塊串流讀取,常見幾十 MB 到幾百 MB 檔案都能正常完成。GB 級別以上或裝置效能較弱時,計算時間會明顯變長;如果你只是命令列下做這類大檔案校驗,建議改用系統內建或 openssl 工具。

故障排查

雜湊值和官方公布的不一致

先確認你下載的就是官方提供雜湊的那個版本(檔名、版本號、分卷編號都要核對),然後再檢查大小寫是否一致、是否算是完整檔案。如果都一致仍不匹配,重新下載一次,下載過程中檔案可能被損壞。

大檔案計算很慢

本工具對大檔案使用 2MB 分塊串流計算。幾百 MB 內通常秒級完成。GB 級別以上建議改用命令列:Windows 上 certutil -hashfile <檔名> SHA256,macOS / Linux 上 shasum -a 256 <檔名>。

勾選大寫後雜湊值變了

雜湊值本身沒變,只是字母被改成大寫。比對時請忽略大小寫,或把期望值也統一成同一種大小寫再比較。

切演算法後結果沒有刷新

切換演算法或大寫 / 小寫後,工具會自動重新計算當前檔案。如果沒有刷新,點「重新計算」按鈕強制再算一次。

術語表

MD5
輸出 128 位元(32 字元十六進制)的雜湊演算法。速度快但已不再抗碰撞(2004 年王小雲團隊攻破),適合做檔案指紋或去重,不應用於安全敏感場景。
SHA-1
輸出 160 位元(40 字元十六進制)。2017 年 Google 公開 SHA-1 碰撞,主流瀏覽器和系統已停止推薦使用,但 Git 舊歷史仍依賴它。
SHA-256
SHA-2 家族成員,輸出 256 位元(64 字元十六進制)。目前主流推薦演算法,HTTPS、Bitcoin、Git 新倉庫等都在使用。
SHA-512
輸出 512 位元(128 字元十六進制),比 SHA-256 抗碰撞能力更強,長檔案上略快。本工具同時支援 SHA-384(96 字元)與 SHA-512/256(64 字元,與 SHA-256 等長但內部用 SHA-512 壓縮函式)。
十六進制(Hex)
雜湊值最常見的展示形式,由 0-9 與 a-f 組成,每位元組佔 2 個字元。本工具支援大寫或小寫切換。
碰撞(Collision)
兩個不同檔案產生完全相同的雜湊值。抗碰撞能力是衡量雜湊演算法安全性的核心指標,MD5 與 SHA-1 已被證明存在實用碰撞。
本地計算
所有雜湊運算都在當前瀏覽器與裝置記憶體中完成,檔案內容不會上傳到遠端伺服器,適合校驗敏感文件。

本工具支援的演算法對比

選擇演算法時優先看對方提供了哪種雜湊,以及你是否在安全敏感場景。

演算法輸出長度安全性典型場景
MD5128 位元 / 32 字元弱(碰撞已攻破)本地去重、舊版本相容
SHA-1160 位元 / 40 字元弱(碰撞已攻破)Git 歷史相容
SHA-256256 位元 / 64 字元下載校驗、韌體、證據(推薦)
SHA-384384 位元 / 96 字元高安全需求、協定規定
SHA-512512 位元 / 128 字元更強高安全需求
SHA-512/256256 位元 / 64 字元需要 SHA-256 長度但想用 SHA-512 核心

不同場景下的演算法推薦

同一份檔案在不同使用場景下,最合適的演算法並不相同。

使用場景推薦演算法核心價值
下載軟體 / 鏡像 / 韌體校驗SHA-256通用、官方普遍支援
Git 提交指紋SHA-1與歷史相容
本地檔案去重MD5速度快、低風險
電子證據取證SHA-256 + 簽章雜湊加簽章,司法更穩
傳輸一致性核對SHA-256雙方都能算,比對簡單
需要協定規定長度SHA-384 / SHA-512/256滿足協定約束

Authoritative References