檔案雜湊校驗
可与下方「校验期望值」比对;变更算法后需重新计算。
在瀏覽器中計算本地檔案的 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 就能快速判斷各節點是否同步。
使用方法
- 點擊上傳區,選擇本地任意檔案(一次處理一個檔案)。
- 工具自動開始計算雜湊,進度條會即時顯示百分比,檔案越大等待時間越長。
- 查看右側的雜湊結果,根據需要切換演算法、大寫 / 小寫或 SHA-512 系列細分變體。
- 把官方或對方提供的期望值貼到「校驗期望值」輸入框,工具會立刻顯示匹配或不匹配。
- 點「複製雜湊」按鈕把結果儲存到剪貼簿,或點「重新計算」刷新當前檔案。
功能特點
- 本地計算保護隱私:所有雜湊運算都在當前瀏覽器中完成,檔案不會上傳到伺服器。
- 四大主流演算法: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 已被證明存在實用碰撞。
- 本地計算
- 所有雜湊運算都在當前瀏覽器與裝置記憶體中完成,檔案內容不會上傳到遠端伺服器,適合校驗敏感文件。
本工具支援的演算法對比
選擇演算法時優先看對方提供了哪種雜湊,以及你是否在安全敏感場景。
| 演算法 | 輸出長度 | 安全性 | 典型場景 |
|---|---|---|---|
MD5 | 128 位元 / 32 字元 | 弱(碰撞已攻破) | 本地去重、舊版本相容 |
SHA-1 | 160 位元 / 40 字元 | 弱(碰撞已攻破) | Git 歷史相容 |
SHA-256 | 256 位元 / 64 字元 | 強 | 下載校驗、韌體、證據(推薦) |
SHA-384 | 384 位元 / 96 字元 | 強 | 高安全需求、協定規定 |
SHA-512 | 512 位元 / 128 字元 | 更強 | 高安全需求 |
SHA-512/256 | 256 位元 / 64 字元 | 強 | 需要 SHA-256 長度但想用 SHA-512 核心 |
不同場景下的演算法推薦
同一份檔案在不同使用場景下,最合適的演算法並不相同。
| 使用場景 | 推薦演算法 | 核心價值 |
|---|---|---|
| 下載軟體 / 鏡像 / 韌體校驗 | SHA-256 | 通用、官方普遍支援 |
| Git 提交指紋 | SHA-1 | 與歷史相容 |
| 本地檔案去重 | MD5 | 速度快、低風險 |
| 電子證據取證 | SHA-256 + 簽章 | 雜湊加簽章,司法更穩 |
| 傳輸一致性核對 | SHA-256 | 雙方都能算,比對簡單 |
| 需要協定規定長度 | SHA-384 / SHA-512/256 | 滿足協定約束 |
Authoritative References
- 安全字串比較
- 二進位轉換
- 凱薩密碼
- 摩斯密碼
- 十六進位轉換
- 影片轉 Base64
- Base64 轉影片
- 圖片轉 Base64
- Base64 轉圖片
- 文字轉 Base64
- Base64 轉文字
- 檔案雜湊校驗
- 檔案轉 Base64
- Base64 轉檔案
- 音訊轉Base64
- Base64轉音訊
- AES 加密解密
- DES 加密解密
- Base32 編碼解碼
- Base58 編碼解碼
- Base64 編碼
- Base64 解碼
- Base64 比較
- Base64 拆分
- Base64 多行合併
- Base64 格式化
- Base64 格式檢查
- Base64 批次編碼
- Base64 批次解碼
- Base64 清理
- Base64 填充處理
- Base64 長度統計
- Base64 轉十六進位
- Base64 DataURL 轉換
- Base64-Hex 互轉
- Base85 編解碼器
- HMAC 生成與驗證
- PBKDF2 金鑰派生
- MD5 雜湊
- SHA-256 雜湊
- SHA1 雜湊
- SHA512 雜湊
- JWT 工具
- HTML 實體編碼解碼
- Unicode 跳脫
- URL 編碼
- URL Safe Base64
- MIME Base64
- Java 混淆
- JS 混淆
- PHP 混淆
- Python 混淆