使用方式
- 選擇「文字」並輸入或貼上文字,或選擇「檔案」並選取或拖放檔案。
- 查看 MD5、SHA-1、SHA-256、SHA-384 和 SHA-512 值。可切換為小寫十六進位、大寫十六進位或 Base64。
- 若要驗證下載檔案,請將提供者公布的校驗碼貼到比對欄位。符合的演算法會以醒目方式標示。
- 複製單一雜湊值,或使用「全部複製」複製所有雜湊值及其演算法名稱。
運作方式
雜湊函式會將任何輸入轉換為固定長度的指紋。同一個輸入一律會產生相同的雜湊值;即使只更改一個位元,結果也會完全不同,因此雜湊適合用來確認檔案下載後是否有損毀或遭到竄改。
SHA-1、SHA-256、SHA-384 和 SHA-512 使用瀏覽器內建的 Web Crypto API 計算。Web Crypto 不支援 MD5,因此本頁內建了 RFC 1321 的實作,並以標準測試向量進行驗證。文字會先轉換為 UTF-8 位元組再計算雜湊,因此「é」會以兩個位元組進行雜湊;結尾多一個空格或換行也會改變結果。
MD5 和 SHA-1 已不適合用於安全用途:研究人員可以產生雜湊值相同的不同輸入。它們仍適合用來偵測意外損毀,或比對服務供應商公布的校驗碼,但請勿用於簽章或憑證。請勿使用一般雜湊值儲存密碼;請改用 Argon2、scrypt 或 bcrypt 等運算較慢的密碼雜湊函式。
大小不超過 200 MB 的檔案會讀取至記憶體。MD5 會分段計算,並在每段之間短暫暫停,讓頁面維持回應速度,同時顯示進度訊息。手機處理非常大的檔案時可能需要數秒。
範例
驗證下載的 ISO 檔案
Linux 下載頁面會列出 SHA-256 校驗碼。選取檔案,拖放 .iso 檔,將公布的校驗碼貼到比對欄位,並確認是否顯示「相符:… SHA-256」。若不相符,表示檔案不完整或不是原始檔案。
廣為人知的測試值
文字「abc」的 MD5 雜湊值是 900150983cd24fb0d6963f7d28e17f72,SHA-256 雜湊值是 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad。可用這些值確認其他工具是否產生相同結果。
HTTP 標頭使用 Base64
子資源完整性(Subresource Integrity)和某些 API 需要的是 Base64 格式的 SHA-256 或 SHA-384 雜湊值,而非十六進位格式。將輸出格式切換為 Base64,然後複製 SHA-384 值。
常見問題
為什麼同一段文字算出的雜湊值和其他工具不同?
通常是輸入內容有無法直接看出的差異:結尾換行、Windows 換行格式(CRLF)、文字編碼不同,或開頭多了空格。此工具會依照輸入框中的內容,精確地對其 UTF-8 位元組計算雜湊。
可以反推出雜湊值原本的文字嗎?
不行。雜湊函式是單向的。不過,仍可透過反覆嘗試猜測短或常見的輸入內容,因此密碼應使用運算較慢的加鹽密碼雜湊演算法,而非一般雜湊函式。
MD5 現在還安全嗎?
若用於安全用途則不行。MD5 和 SHA-1 可以被刻意製造出碰撞,因此不能用來防範蓄意竄改。它們仍可用於檢查意外損毀,但 SHA-256 是更好的預設選擇。
我的檔案會上傳嗎?
不會。檔案會透過瀏覽器的 File API 讀取,並在此分頁中計算雜湊。資料不會傳送至伺服器,頁面載入後也能離線使用。
我可以計算雜湊的最大檔案有多大?
200 MB。整個檔案會載入記憶體,因此較大的檔案可能會耗盡手機和舊型電腦的記憶體。若要處理更大的檔案,請使用 sha256sum 或 certutil 等命令列工具。
隱私權
文字和檔案只會在您的瀏覽器中計算雜湊,不會上傳。輸入內容和雜湊值都不會儲存或傳送至分析服務;系統只會記錄匿名的工具使用事件。