什麼是雜湊值產生器?
雜湊函數會把任意長度的資料轉換成固定長度的指紋值。內容只要差一個字,雜湊值就會完全不同,因此常用於確認下載檔案與原始檔相同的檢查碼、偵測資料竄改,以及 API 請求簽章(HMAC)。
SHA 系列使用瀏覽器的 Web Crypto API 計算,MD5 則由內建程式計算;大型檔案會以每次 4MB 分段讀取並顯示進度,檔案不會上傳到伺服器。
使用方法
- 在 文字 分頁輸入內容,或在 檔案 分頁選擇檔案,五種雜湊值會立即算出。
- 若需要像 API 簽章那樣使用密鑰,請開啟 HMAC 並輸入密鑰。
- 輸出格式可選 hex 小寫、HEX 大寫或 Base64。
- 把下載網站提供的檢查碼貼到 要比對的雜湊值,就會告訴您與哪個演算法相符。
各演算法的長度與用途
| 演算法 | 長度(hex) | 安全性 | 主要用途 |
|---|---|---|---|
| MD5 | 32 字元 | 可被碰撞攻擊 | 簡易檢查碼、快取鍵 |
| SHA-1 | 40 字元 | 可被碰撞攻擊 | Git 物件 ID、舊系統 |
| SHA-256 | 64 字元 | 安全 | 檔案驗證、區塊鏈、JWT |
| SHA-384 | 96 字元 | 安全 | TLS、子資源完整性(SRI) |
| SHA-512 | 128 字元 | 安全 | 高安全需求的簽章 |
例:SHA-256("abc") = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
密碼不能只用雜湊儲存
MD5 與 SHA-256 運算速度非常快,若直接把密碼雜湊後儲存,很容易被暴力破解。密碼應使用 Argon2id、scrypt、bcrypt 這類刻意設計得較慢、並搭配鹽值(salt)的專用函數儲存,這也是 OWASP 密碼儲存指南的建議。
常見問題
同樣的文字,為什麼和其他網站算出的雜湊值不同?
多半是字元編碼或換行不同。本工具以 UTF-8 計算;結尾多一個換行或使用 Windows 換行(CRLF)都會得到不同的值。以 Big5 編碼計算的網站,中文字的結果也會不同。
可以從雜湊值還原原本的內容嗎?
雜湊是單向函數,無法透過計算還原。不過簡短常見的字串可以用預先算好的對照表(彩虹表)查出,因此單純雜湊不適合用來保護密碼。
大型檔案也能計算嗎?
最大支援 1GB。檔案會以每次 4MB 分段讀取並顯示進度,100MB 的檔案通常幾秒內完成。所有計算都只在您的裝置上進行。
HMAC 和一般雜湊有什麼不同?
HMAC 會把密鑰混入計算,只有知道密鑰的人才能算出相同的值,常用於驗證付款、Webhook 與 API 請求未被偽造的簽章(RFC 2104)。