語言:繁體中文

tools / hash

hash/

計算文字或檔案的 MD5、SHA-1、SHA-256、SHA-384、SHA-512 與 HMAC。文字以 UTF-8 編碼。

輸入

摘要

MD5
SHA-1
SHA-256
SHA-384
SHA-512
HMAC HEX
HMAC Base64

常見問題

MD5 能線上解密嗎

不能。MD5 是單向摘要,不是加密,沒有解密這一步。本站只負責計算,頁面也不會連網查任何對照資料庫。所謂「MD5 解密」網站,其實是拿已知明文的雜湊值去查表,常見的短密碼查得到,隨機的長密碼查不到。

為什麼算出來的雜湊值和命令列或其他工具不一致

先檢查輸入有沒有多出換行或空格。本工具把文字框裡的內容以 UTF-8 原樣計算,不去除頭尾空白;命令列裡的 echo 預設會補一個換行,要用 echo -n 才會一致。文字框裡的換行一律以 LF 計算,原文是 Windows 的 CRLF 時,請改用檔案模式,它依原始位元組計算,與 md5sum、shasum 一致。十六進位的大小寫沒有差別,勾選「大寫輸出」就能對上。

MD5 的 16 位和 32 位是什麼關係

32 位是完整的 MD5,也就是 128 位元二進位寫成 32 個十六進位字元。常說的 16 位 MD5,是取這 32 個字元中的第 9 到第 24 個。本工具提供完整的 32 位,需要 16 位的話請自行擷取。

怎麼驗證下載檔案的雜湊值,檔案大小有限制嗎

把檔案拖曳到輸入框下方的區域,會同時算出 MD5、SHA-1、SHA-256、SHA-384、SHA-512,再與下載頁面提供的值比對即可。檔案上限 200 MB,整個檔案會先讀進記憶體,所以很大的檔案會佔用不少記憶體;讀取失敗時頁面會有提示。超過 4 MB 的檔案,MD5 會分塊計算並顯示進度。

HMAC 怎麼算,金鑰怎麼填

在下方填入金鑰,HMAC 會對上方同一份輸入(文字或檔案)計算,演算法可選 SHA-1、SHA-256、SHA-512,同時提供十六進位和 Base64 兩種結果。金鑰框裡寫什麼,就把那段文字的 UTF-8 位元組當作金鑰;如果你的金鑰本來是以十六進位或 Base64 表示的原始位元組,直接填進去會算出不同的結果。這裡沒有 HMAC-MD5 和 HMAC-SHA384。

提示「目前環境不支援 WebCrypto」怎麼辦

用 HTTPS 網址開啟本站,或在 localhost 下使用。SHA 系列和 HMAC 依賴瀏覽器的 WebCrypto,它只在安全環境(HTTPS、localhost)中可用,在一般 http 頁面裡這些結果不會出現。MD5 是頁面自己實作的,不受影響。

MD5、SHA-1、SHA-256 該選哪個,能用來存密碼嗎

驗證檔案完整性或做數位簽章,首選 SHA-256 或更長的 SHA-2 系列;MD5 和 SHA-1 已經能被人為構造出碰撞,只適合防止無意的損壞或相容舊系統。儲存使用者密碼也不要直接用其中任何一個,應該使用 bcrypt、scrypt、Argon2 這類加鹽的慢速雜湊。本站只提供 MD5、SHA-1、SHA-256、SHA-384、SHA-512 和 HMAC。

輸入的文字和檔案會上傳嗎

不會。MD5 在頁面自己的程式碼裡計算,SHA 和 HMAC 使用瀏覽器內建的 WebCrypto,文字、檔案和 HMAC 金鑰都只在本機處理,沒有上傳請求。