什麼是 MD5?
MD5(Message-Digest Algorithm 5)是一種密碼學雜湊函數,把任意長度的輸入映射為固定 128 位(32 個十六進位字元)的摘要。它是單向的:從原文可以算出雜湊,但無法從雜湊還原原文。相同輸入永遠得到相同輸出,哪怕只改動一個字元,結果也會完全不同。
本工具按 UTF-8 編碼計算位元組序列的 MD5——中文、emoji、換行與空格都參與計算。如果你在其他工具得到不同結果,先檢查雙方是否使用相同編碼(例如 GBK 與 UTF-8 的中文雜湊必然不同)。
輸入文字即即時生成 32 位與 16 位(大寫、小寫)四種 MD5 雜湊格式,支援中文與 emoji(UTF-8 編碼),每個結果一鍵複製。全部在你的瀏覽器本機計算,原文不會上傳。
「16位」並非另一種演算法,而是 32 位結果的中間 16 個字元(第 9–24 位),常見於部分舊系統的截短用法。上兩行結果為大寫、下兩行為小寫。
🔒 隱私說明:本工具的 MD5 計算全部在你的瀏覽器本機完成,輸入的原文與結果不會上傳到伺服器。
MD5(Message-Digest Algorithm 5)是一種密碼學雜湊函數,把任意長度的輸入映射為固定 128 位(32 個十六進位字元)的摘要。它是單向的:從原文可以算出雜湊,但無法從雜湊還原原文。相同輸入永遠得到相同輸出,哪怕只改動一個字元,結果也會完全不同。
本工具按 UTF-8 編碼計算位元組序列的 MD5——中文、emoji、換行與空格都參與計算。如果你在其他工具得到不同結果,先檢查雙方是否使用相同編碼(例如 GBK 與 UTF-8 的中文雜湊必然不同)。
MD5 已存在實用的碰撞攻擊方法,不再具備安全保證。它仍適合「非對抗性」場景,但請勿用於任何需要抵禦惡意篡改或保護口令的地方:
MD5 是一種密碼學雜湊函數,把任意長度的文字映射為固定 32 個十六進位字元(128 位)的摘要。它是單向的:能從原文算出雜湊,但不能從雜湊還原原文;相同輸入永遠得到相同輸出。
不能。MD5 是單向雜湊而非加密,本身不可逆。網上的「MD5解密」網站只是用預先計算好的彩虹表查詢常見字串,查不到就無能為力。正因為可被彩虹表和碰撞攻擊針對,MD5 不應用於密碼儲存。
完整 MD5 是 32 個十六進位字元。「16位」不是另一種演算法,而是取 32 位結果的中間 16 個字元(第 9–24 位),是部分舊系統的截短慣例。例如 abc 的 32 位值是 900150983cd24fb0d6963f7d28e17f72,16 位值是 3cd24fb0d6963f7d。
雜湊計算的是位元組序列,同一文字在不同編碼下的位元組不同。本工具統一使用 UTF-8;若某工具使用 GBK 等編碼,中文結果必然不同。emoji 只在 UTF-8 等編碼下有效,出現差異時先核對編碼與是否多算/漏算了空格、換行。
不安全。MD5 已被證實存在實用的碰撞攻擊,不再具備抗碰撞能力,絕不能用於密碼儲存或數位簽章。密碼儲存請用 bcrypt、scrypt 或 Argon2id 等專用口令雜湊;完整性保護請用 SHA-256 或更強演算法。檔案校驗等非對抗性場景仍然可用。
不會。計算全部在你的瀏覽器本機用 JavaScript 完成,輸入的原文與生成的雜湊都不會發送到伺服器,可以放心處理敏感內容。
本質是同一個操作,但「MD5加密」是不嚴謹的說法:MD5 是雜湊不是加密,沒有金鑰、不可逆。「加密」意味著可以解密還原,而 MD5 只能單向計算。本工具頁面統一使用「雜湊/計算」的準確表述。