請輸入文字或選擇檔案
雜湊值有甚麼用
雜湊會把任何輸入轉成固定長度的指紋。同樣的輸入永遠得出同樣的雜湊值,而只要改動其中一個位元組,整個結果就會完全不同。這令雜湊很適合用來確認檔案完整無缺地送達,卻不適合用來儲存密碼。
如何選擇演算法
| 演算法 | 長度 | 狀態 | 適用於 |
|---|---|---|---|
| MD5 | 128 bits / 32 hex | Broken since 2004 | Checking a download against a published checksum |
| SHA-1 | 160 bits / 40 hex | Broken since 2017 | Legacy Git object IDs only |
| SHA-256 | 256 bits / 64 hex | Secure | The default choice for integrity and signatures |
| SHA-384 | 384 bits / 96 hex | Secure | TLS certificates, subresource integrity |
| SHA-512 | 512 bits / 128 hex | Secure | Faster than SHA-256 on 64-bit hardware |
核對下載回來的檔案
專案通常會在下載連結旁公布校驗碼。把收到的檔案計算雜湊,再作比對即可。本工具接受 sha256sum 的輸出格式,所以連同檔名整行貼上也沒問題。
- 下載檔案,以及它公布的校驗碼
- 把檔案拖到上方,並選擇對應的演算法
- 把公布的校驗碼貼進比對欄
- 顯示綠色相符,代表兩者的位元組完全一致
不要用這些演算法來雜湊密碼
MD5、SHA-1 甚至 SHA-256 都是為速度而設計,而這對密碼來說剛好是最要不得的特性 — 攻擊者每秒可以嘗試數十億次。密碼儲存需要刻意設計得慢的演算法,例如 bcrypt、scrypt 或 Argon2,並為每個使用者加上獨立的鹽值。
雜湊在哪裡運算
一切都在你的瀏覽器內執行。文字透過 Web Crypto API 計算雜湊,檔案在本機讀取,而 MD5 則以 JavaScript 計算,因為 Web Crypto 刻意不提供 MD5。你的輸入不會離開這個頁面。