跳到正文
馬克工具箱

雜湊值計算

計算文字或檔案的 MD5、SHA-1、SHA-2、SHA-3、BLAKE2、BLAKE3、RIPEMD-160 雜湊值,用金鑰生成 HMAC,並把下載檔案與官方校驗值進行比對。幾 GB 的檔案也會分塊在本地讀取。

在瀏覽器本地執行,輸入的內容和檔案都不會上傳

演算法

MD5⚠
d41d8cd98f00b204e9800998ecf8427e
SHA-1⚠
da39a3ee5e6b4b0d3255bfef95601890afd80709
SHA-256
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA-512
cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
⚠ MD5 / SHA-1: 已不具備抗碰撞性:可用於校驗檔案完整性,不要用於安全場景。

使用步驟

  1. 選擇「文字」直接輸入,或選擇「檔案」並選取任意大小的檔案。
  2. 勾選需要的演算法,預設已選 MD5、SHA-1、SHA-256、SHA-512。
  3. 需要帶金鑰的雜湊時,勾選 HMAC 並輸入金鑰。
  4. 校驗下載檔案時,把官網公佈的校驗值貼上到「比對」框,一致的那一行會被標記出來。

引數說明

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 還需要金鑰,因此可以證明訊息來自持有金鑰的一方,並且沒有被篡改。

隱私說明

本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。

相關工具