MD5 雜湊轉換器(免費線上計算)
免費線上將文本轉換為 MD5 雜湊值,計算全部在瀏覽器本地完成,不會發送到伺服器。常用於檔案完整性校驗和字串唯一標識,但由於碰撞攻擊已被證實,不推薦用於安全場景。
什麼是 MD5 雜湊?
MD5(Message Digest Algorithm 5)是一種雜湊函式,能將任意長度的字串轉換為固定長度的值:128 位元,以 32 個十六進位制字元表示。本工具會在您的瀏覽器本地即時計算輸入內容的 MD5 雜湊值並顯示結果,不會將任何資料傳送到伺服器。相同的輸入始終會得到相同的雜湊值,哪怕只改動一個字元,結果也會完全不同。
不過,早在 2004 年,針對 MD5 的碰撞攻擊(即建構出兩個不同輸入卻產生相同雜湊值的方法)就已被成功實證,因此 MD5 不再具備密碼學意義上的安全性,不應用於密碼儲存、數位簽章等需要防篡改的場景。但在偵測資料是否意外損壞、核對檔案是否一致等非安全用途中,MD5 依然因為計算速度快、使用簡便而被廣泛採用。
MD5 雜湊計算器使用方法
- 輸入或貼上文字 在輸入框中填寫要計算雜湊的字串,結果會隨輸入即時更新,無需點擊任何按鈕。
- 查看 MD5 雜湊值 32 位元十六進位制的計算結果會顯示在輸入框正下方。若輸入框為空,結果也保持為空。
- 複製結果 點擊「複製」按鈕即可將雜湊值複製到剪貼簿,方便直接貼上到其他工具或檔案中。
- 修改輸入觀察差異 嘗試只改動一個字元,觀察雜湊值如何徹底改變,直觀感受篡改偵測的原理。
用好本工具的小技巧
- MD5 於 1991 年設計,輸出 128 位(32 個十六進位制字元),2004 年碰撞攻擊被實證。
- 常用於檔案完整性校驗,例如校對下載檔案是否與官方釋出的雜湊值一致。
- 現代 GPU 每秒可計算數百億次 MD5,極不適合用於密碼儲存。
- 輸出為固定 128 位、32 個字元的十六進位制字串,無論輸入長度如何。
- 儲存密碼時請使用 BCrypt 或 Argon2 等專用慢雜湊演算法,而非 MD5。
MD5 雜湊的應用場景
校驗下載檔案的完整性
將發布方公開的 MD5 值與本地計算的結果進行比對,確認檔案在下載過程中沒有損壞。
尋找重複資料
對大批量文字或記錄逐一計算雜湊值,雜湊相同的即視為重複項,MD5 計算速度快,適合大規模處理。
驗證與舊系統的相容性
部分老舊系統或介面仍使用 MD5 產生快取鍵或識別碼,可在本地驗證計算結果是否與預期一致。
學習雜湊函式的基本原理
透過微調輸入觀察「雪崩效應」——輸入的微小變化會導致輸出發生巨大變化,是理解雜湊函式特性的直觀方式。
術語表
- 雜湊函式
- 將任意長度的輸入資料轉換為固定長度輸出值的函式,屬於單向轉換:相同輸入始終產生相同輸出。
- MD5
- 由羅納德·李維斯特於 1991 年設計的 128 位元雜湊函式,曾被廣泛使用,但如今已不再具備密碼學安全性。
- 碰撞
- 兩個不同的輸入產生相同雜湊值的現象。2004 年,研究人員成功實證了可用於人為製造 MD5 碰撞的實用方法。
- 校驗和
- 用於確認資料在傳輸或儲存過程中是否發生意外損壞的短值。雖然無法防止惡意篡改,但用於此類場景 MD5 仍然可靠。
- 十六進位制表示法
- 使用 0-9 和 a-f 共十六個字元表示數值的方式,本工具將 MD5 結果顯示為 32 個字元的十六進位制字串。
- 輸出長度(128 位元)
- 無論原始輸入長短,MD5 始終輸出 128 位元的值,顯示為 32 個十六進位制字元。
- 單向性
- 指無法僅憑雜湊值反推出原始輸入的特性。不過較短的輸入仍可能被暴力破解或透過查表方式還原。
常見問題
閒話 ― MD5 的發明者與"被破解"演算法的軌跡
MD5 由羅納德·李維斯特(Ronald Rivest,RSA 演算法聯合發明者)設計,並於 1992 年作為 RFC 1321 釋出。2004 年,中國密碼學家王小云等人成功實證碰撞攻擊,徹底動搖了 MD5 作為安全工具的地位。
2008 年,安全研究人員利用 MD5 碰撞偽造了 SSL 證書,證明攻擊者可藉此冒充合法 HTTPS 網站,引發行業廣泛關注。這一事件直接推動了證書頒發機構停止簽發基於 MD5 的證書。
如今,MD5 仍活躍於校驗和場景(如軟體包完整性驗證),因為在此類用途中並不需要防禦惡意碰撞攻擊。而在密碼儲存、數字簽名等安全領域,MD5 已被主流實踐完全淘汰。