使用步驟
- 選擇「文字」直接輸入,或選擇「檔案」並選取任意大小的檔案。
- 勾選需要的演算法,預設已選 MD5、SHA-1、SHA-256、SHA-512。
- 需要帶金鑰的雜湊時,勾選 HMAC 並輸入金鑰。
- 校驗下載檔案時,把官網公佈的校驗值貼上到「比對」框,一致的那一行會被標記出來。
引數說明
- MD5 / SHA-1
- 速度快,至今仍廣泛用於檔案校驗,但已不再安全:攻擊者可以構造出雜湊相同的兩個輸入。不要用於簽名或儲存密碼。
- SHA-256 / SHA-512
- SHA-2 家族,是完整性校驗、數字證書、區塊鏈的標準選擇。
- SHA-3 / BLAKE2 / BLAKE3
- 較新的演算法。BLAKE3 在軟體實現中比 SHA-2 快很多;SHA-3 是 NIST 標準,內部結構與 SHA-2 完全不同。
- HMAC
- 帶金鑰的雜湊,用於 Webhook 和 API 請求籤名,例如 GitHub、Stripe 的 Webhook 都使用 HMAC-SHA256;微信支付 V2 的簽名也支援 HMAC-SHA256。
各演算法的輸出長度
| 演算法 | 輸出 | 十六進位制長度 |
|---|---|---|
| MD5 | 128 位 | 32 |
| SHA-1 | 160 位 | 40 |
| SHA-256 / SHA3-256 / BLAKE3 | 256 位 | 64 |
| SHA-384 | 384 位 | 96 |
| SHA-512 / SHA3-512 / BLAKE2b | 512 位 | 128 |
示例
abc 的 SHA-256 值是:
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
在終端裡得到同樣的結果:Linux 用 echo -n abc | sha256sum,macOS 用 echo -n abc | shasum -a 256,Windows PowerShell 可用 Get-FileHash 計算檔案雜湊。
常見問題
怎麼校驗下載檔案是否完整?
選擇「檔案」並選中下載的檔案,把官網上公佈的校驗值貼上到「比對」框。顯示「一致」就說明檔案與釋出者計算時的檔案完全相同。
檔案會上傳嗎?
不會。瀏覽器以 4MB 為單位分塊讀取檔案並在本地計算,即使是幾 GB 的系統映象也不會離開你的電腦。
雜湊值能反推出原文嗎?
不能,雜湊是單向的。但簡短或常見的輸入(比如 123456)可以通過查表找到,所以儲存密碼必須使用加鹽的慢雜湊演算法(bcrypt、Argon2),而不是直接 MD5 或 SHA-256。
為什麼算出來和其他工具不一樣?
通常是輸入不同:末尾多了換行、有空格,或者文字編碼不同(UTF-8 與 GBK 的中文位元組不同)。本工具按輸入內容的 UTF-8 位元組計算。命令列裡 echo 會自動加換行,要用 echo -n。
雜湊和 HMAC 有什麼區別?
任何人都能計算公開資料的雜湊;HMAC 還需要金鑰,因此可以證明訊息來自持有金鑰的一方,並且沒有被篡改。
隱私說明
本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。