MUTools

編碼 / 解碼

雜湊值產生

雜湊值產生工具能從你輸入的文字或檔案一次產生 MD5、SHA-1、SHA-256、SHA-512 等雜湊值。不論是 md5 轉換、sha256 計算,或是 checksum 比對,都可以在同一個畫面上完成。

計算模式
輸入
演算法
輸出格式
計算結果
輸入文字或選擇檔案後,結果會顯示於此
輸入位元組數:0

輸入的文字與檔案全程在瀏覽器中完成,不會傳送至伺服器。

雜湊值產生是什麼?

雜湊值產生工具能從你輸入的文字或檔案一次產生 MD5、SHA-1、SHA-256、SHA-512 等雜湊值。不論是 md5 轉換、sha256 計算,或是 checksum 比對,都可以在同一個畫面上完成。

在「文字」模式下,每一次輸入都會即時更新所有雜湊值,不需要再按「計算」按鈕。中文、日文、表情符號等多位元組字元會自動以 UTF-8 編碼處理。切換到「檔案」模式,將檔案拖曳進來或透過「選擇檔案」按鈕載入後,就能同時得到 4 種演算法的結果。

輸出格式可以在 16 進位(小寫)、16 進位(大寫)、Base64 之間一鍵切換,方便對齊命令列工具(shasummd5sum)或 HTTP Digest 標頭等不同表示方式。在「雜湊比對」欄位貼上預期值(hex 或 Base64 皆可),即可針對每個演算法顯示 ✓ / ✗,下載檔案的完整性驗證也十分方便。

將上方「計算模式」切換為 HMAC 後,會出現金鑰輸入欄,可產生 HMAC-SHA1 / HMAC-SHA256 / HMAC-SHA512。常見於 Webhook 簽章驗證或 API 請求簽章的手動確認。請注意:HMAC 模式不支援 MD5(瀏覽器內建 Web Crypto API 未實作 HMAC-MD5)。

輸入的文字、檔案以及金鑰全部在瀏覽器內處理,絕不會上傳至任何伺服器。即使是包含機敏資訊的字串或檔案也能放心使用。全程在瀏覽器中完成。

使用方法

  1. 在頂部「計算模式」中選擇「雜湊」或「HMAC(含金鑰)」。選擇 HMAC 時,下方會顯示金鑰輸入欄。
  2. 在「輸入」切換「文字」或「檔案」。文字可直接貼上;檔案可透過拖曳或「選擇檔案」按鈕載入。
  3. 在「演算法」中勾選要計算的雜湊(MD5 / SHA-1 / SHA-256 / SHA-512),預設全部啟用。
  4. 在「輸出格式」中選擇 16 進位(小寫 / 大寫)或 Base64。對齊命令列輸出時通常使用小寫 hex。
  5. 需要驗證檔案完整性等場景時,將預期值貼到「雜湊比對」欄位(hex 或 Base64 皆可),會針對每個演算法顯示 ✓ / ✗。
  6. 點擊結果卡片右上角的「複製」按鈕,將該演算法的雜湊值複製到剪貼簿。

使用情境

  • 確認下載的 ZIP / DMG / ISO 檔案是否與發行方公開的 checksum 相符。
  • 學習並驗證 Git 物件 ID(SHA-1)的產生規則,或手動計算物件的 SHA-1。
  • 在實作 JWT、OAuth、Webhook 等流程時,比對伺服器產生的 HMAC-SHA256 簽章與本地結果是否一致。
  • 實作 AWS Signature V4 或 Slack / GitHub Webhook 簽章前,先手動重現簽章結果以確認方向。
  • 為短字串(密碼、權杖、URL 等)快速產生 MD5 / SHA-256,貼到文件或工單中。

注意事項

  • 文字會先以 UTF-8 編碼再計算雜湊,因此中文、日文、表情符號、特殊符號等多位元組字元都可以直接輸入。
  • 檔案會載入至瀏覽器記憶體中計算,單一檔案大小上限為 50 MB,超過時會顯示錯誤。
  • MD5 與 SHA-1 已有實際可行的碰撞攻擊,不再適合用於安全相關用途(密碼儲存、防竄改、電子簽章等)。僅在與既有規格保持相容時使用(例如 checksum 比對、Git 物件 ID)。新設計請優先選擇 SHA-256 以上。
  • HMAC 模式不支援 MD5(Web Crypto API 僅支援 HMAC over SHA-1 / SHA-256 / SHA-384 / SHA-512)。
  • HMAC 金鑰會以 UTF-8 位元組序列解讀。若金鑰本身已是 hex 或 Base64 編碼,請先在外部解碼再貼上。
  • Base64 輸出採用標準字母表(A–Z, a–z, 0–9, +, /, 含 = 填充),並非 URL-safe 變體。等同於 `openssl ... -binary | base64` 的輸出。
  • 雜湊比對欄位不分大小寫,並自動忽略空白與「:」分隔符。hex 與 Base64 形式的預期值都可以直接貼上。

常見問題

輸入的文字與檔案會上傳至伺服器嗎?
不會。雜湊計算全部在瀏覽器中完成。即使是包含存取權杖、內部檔案或個人資料的資料,也能放心使用。
聽說 MD5 已經不安全了,還能使用嗎?
在密碼學相關場景(密碼儲存、防竄改、電子簽章)不再建議使用,MD5 與 SHA-1 都已存在可實際構造的碰撞。但在 checksum 比對、Git 物件 ID 等需要與既有規格相容的場景仍然有用。新設計請優先採用 SHA-256 以上。
命令列的 `md5sum` / `shasum -a 256` 與本工具的結果不一致。
請檢查兩點:(1) `echo` 預設會在尾端加上換行字元,要用 `echo -n` 或 `printf` 才能只對原始位元組計算雜湊。(2) 本工具以 UTF-8 編碼文字,若 Shell 或編輯器使用其他編碼,底層位元組不同,雜湊值自然也會不同。
檔案大小有上限嗎?
上限為 50 MB。由於計算在瀏覽器記憶體中進行,過大的檔案會讓裝置變慢。超過此大小建議使用命令列(如 `shasum -a 256 <file>`)。
HMAC 與一般雜湊有什麼不同?
HMAC(Hash-based Message Authentication Code)在雜湊中加入了金鑰。即使內容相同,不同的金鑰也會得到不同的結果,因此 HMAC 不僅能偵測訊息是否被竄改,還能驗證訊息確實由持有金鑰者所產生。常見於 Webhook 簽章與 API 請求簽章。
輸出格式的「Base64」是哪一種 Base64?
標準 Base64(A–Z, a–z, 0–9, +, /, 含 = 填充),並非 URL-safe 形式。等同於 `openssl ... -binary | base64` 的輸出。