MD5 產生器

MD5 產生器

數位指紋機:生成單向不可逆的 128 位元雜湊值

什麼是 MD5?

MD5 (Message-Digest Algorithm 5) 是一種被廣泛使用的密碼雜湊函式。您可以把它想像成是資料的「數位指紋」。無論您輸入的是一個單字,還是一本百萬字的電子書,MD5 演算法都能將其運算並壓縮成一串 固定長度 (32個字元) 的十六進位字串。

雖然因為現代電腦運算能力提升,MD5 已不再被視為「加密安全」的標準(不建議用來存密碼),但因為它計算速度極快且普及率高,在 檔案驗證資料索引 領域仍然是業界標準。

核心原理:雪崩效應 (Avalanche Effect)

雜湊演算法的一個重要特性是「不可逆」與「敏感」。

  • 單向性: 您可以輕易將 Apple 變成 1f3870...,但無法從 1f3870... 反推出 Apple

  • 雪崩效應: 只要輸入的內容改了一個字(例如 Apple 變成 apple),輸出的雜湊值就會產生天翻地覆的變化,完全看不出兩者有任何關聯。

常見的應用場景

1. 檔案完整性驗證 (Checksum)

這是 MD5 最常見的用途。當您從網路下載大型軟體或 ISO 映像檔時,官方通常會附上一組 MD5 碼。

  • 下載完成後,您計算本機檔案的 MD5。

  • 如果與官方提供的一模一樣,代表檔案在傳輸過程中沒有損壞或被駭客竄改。

2. Gravatar 頭像服務

WordPress 與 Github 使用的 Gravatar 頭像服務,就是利用 MD5 來識別用戶。

  • 系統會將您的 Email (如 [email protected]) 轉成 MD5,然後去伺服器抓取對應的圖片。這能保護您的 Email 不被直接暴露在網頁原始碼中。

3. 資料庫唯一標識 (Unique ID)

當您需要為長篇文章或檔案產生一個簡短的 ID 以便存入資料庫索引時,MD5 是一個很好的選擇,因為它保證了同樣的內容永遠會產生同樣的 ID。

常見問題 (People Also Ask)

Q1:MD5 可以解密 (Decrypt) 嗎?

理論上不行,但實務上「有風險」。

  • MD5 是雜湊 (Hash),不是加密 (Encryption),所以沒有「解密金鑰」。

  • 但對於簡單的密碼(如 "123456"),駭客可以使用 「彩虹表 (Rainbow Table)」 —— 一張紀錄了數億組常見密碼對應 MD5 的大表,透過「查表」來反推您的原始內容。

Q2:還可以用 MD5 來存密碼嗎?

強烈不建議。

  • 如上所述,MD5 抗碰撞能力已不足,且容易被暴力破解。

  • 現代系統請使用 BcryptArgon2SHA-256 (加鹽) 來儲存用戶密碼。

Q3:什麼是「雜湊碰撞 (Collision)」?

這指的是「兩個不同的輸入,剛好產生了一模一樣的 MD5 值」。

  • 雖然機率極低,但已被證實是可能的。

  • 這也是為什麼涉及高度資安(如數位簽章、SSL 憑證)的領域已經淘汰 MD5,改用 SHA-2 家族的原因。

Q4:輸出的格式為什麼有的英文是大寫,有的是小寫?

兩者是一樣的。

  • MD5 本質上是 128 位元的二進位數據,通常以十六進位 (Hex) 表示。

  • 1F38...1f38... 代表同一個數值,您可以依據需求自行轉換大小寫。

Cookie
我們重視您的數據,並希望使用 Cookie 來提升您的體驗