雜湊 | 校驗和 | 驗證

> 雜湊 | 校驗和 | 驗證 <

// 用於校驗和、資料完整性驗證和指紋辨識的MD5雜湊產生器

[安全]

本地處理

100%用戶端MD5雜湊處理。您的資料永遠不會離開瀏覽器。

[快速]

即時雜湊

輸入時即時產生MD5雜湊。無需伺服器通訊。

[免費]

多種格式

以十六進位或Base64格式輸出。可即時切換格式。

// 關於MD5雜湊

MD5運作原理:

MD5(訊息摘要演算法5)透過Merkle-Damgard結構的一系列位元運算處理輸入資料。它產生128位元(16位元組)的雜湊值,通常表示為32個字元的十六進位字串。

範例:

"Hello" → 8b1a9953c4611296a827abf8c47804d7

常見用途:

  • >檔案完整性驗證和校驗和
  • >資料去重和指紋辨識
  • >快取鍵產生
  • >非安全相關的雜湊表索引
  • >舊系統相容性

>> 常見問題

問:什麼是MD5雜湊?

答:MD5(訊息摘要演算法5)是一種廣泛使用的雜湊函數,可產生128位元的雜湊值。它接受任何輸入並產生固定大小的32個字元十六進位字串,通常用於校驗和及資料完整性驗證。

問:MD5對密碼安全嗎?

答:不安全,MD5不建議用於密碼雜湊或安全關鍵型應用。它容易受到碰撞攻擊和彩虹表攻擊。密碼請使用bcrypt、scrypt或Argon2,加密需求請使用SHA-256或SHA-3。

問:MD5雜湊可以被反轉嗎?

答:不可以,MD5是單向雜湊函數。從數學上來說,將MD5雜湊反轉還原為原始輸入是不可行的。但是,常見輸入可以透過查詢表找到,因此MD5不適合安全用途。

問:MD5還有什麼用途?

答:MD5在非安全相關用途中仍然有用,例如檔案完整性檢查、資料去重、快取鍵產生以及不需要碰撞抗性的校驗和驗證。

問:MD5與SHA-256相比如何?

答:MD5產生128位元雜湊(32個十六進位字元),而SHA-256產生256位元雜湊(64個十六進位字元)。SHA-256具有加密安全性和碰撞抗性,適用於MD5不適合的安全應用。

// 常見的 MD5 值

輸入MD5
""d41d8cd98f00b204e9800998ecf8427e
abc900150983cd24fb0d6963f7d28e17f72
hello5d41402abc4b2a76b9719d911017c592
The quick brown fox jumps over the lazy dog9e107d9d372bb6826bd81d3542a419d6

// 計算檔案校驗和

Linux        md5sum file.zip
macOS        md5 file.zip
Windows      certutil -hashfile file.zip MD5
PowerShell   Get-FileHash file.zip -Algorithm MD5
OpenSSL      openssl md5 file.zip
Python       hashlib.md5(data).hexdigest()
Node.js      crypto.createHash('md5').update(data).digest('hex')

>> 更多問題

問:如何用 MD5 檢查碼驗證檔案?

答:計算下載檔案的 MD5 雜湊(例如用 md5sum),與發布的值逐字元比對。一致代表檔案沒有意外損毀。MD5 無法防禦惡意竄改,此時請使用 SHA-256 或簽章。

問:為什麼 MD5 輸出總是 32 個十六進位字元?

答:MD5 一律輸出 128 位元。每個十六進位字元代表 4 位元,所以正好是 32 個字元,無論輸入是 1 位元組還是 1 GB。

問:儲存密碼時應該用什麼取代 MD5?

答:使用緩慢且加鹽的密碼雜湊,如 Argon2id、bcrypt、scrypt 或 PBKDF2。它們刻意增加運算成本,讓暴力破解代價高昂;而 MD5 這類快速雜湊每秒可計算數十億次。

// 其他語言