資訊安全中的MD5是什麼?
MD5代表訊息摘要演算法 (message-digest algorithm)。它是一種密碼學協議,用於訊息認證、內容驗證和數字簽名。MD5基於雜湊函式,用於檢查傳送的檔案與接收方接收的檔案是否匹配。
MD5訊息摘要演算法是Ron Rivest發明的訊息摘要演算法的第五個版本,它生成128位的訊息摘要。MD5比其他版本的摘要演算法速度更快,它處理512位的明文塊,將這些塊進一步細分為16個32位的塊,並生成128位的訊息摘要,該摘要由四個32位的塊組成。
MD5透過五個步驟生成訊息摘要,例如填充、追加長度、將輸入劃分為512位的塊、啟動連結變數、處理塊和4輪迭代,以及在每次迭代中使用多個常量。
隨著幾種雜湊演算法的發展,專業人士注意到工程師發現MD5在“抗碰撞性”方面存在嚴重缺陷。
當發現兩個雜湊值相似或相同的時候,就會出現碰撞。為了正常工作,每個雜湊值都必須是唯一的。由於此功能對於諸如安全套接字層 (SSL) 等著名的身份驗證協議是必需的,因此MD5已被各種型別的雜湊演算法所取代。
安全工程師和其他人員熟悉包含多種屬性的大量雜湊演算法列表。MD5和其他型別的雜湊演算法被定義為“訊息摘要”函式。
其概念是雜湊“摘要”初始值並輸出一個與原始值本質上不同的替換值。雜湊在安全性和資料庫效率中具有多種主要用途,這與在搜尋和資料儲存中需要替換值有關。
MD5也用作文件的校驗和。在網際網路時代,網站存在多種安全漏洞,使駭客能夠更改下載連結並誘騙使用者下載篡改後的檔案。
一種緩解方法是使用校驗和,其中針對檔案生成唯一的雜湊值並提供給使用者,以便使用者可以根據下載的檔案生成雜湊值並進行比較。如果它們匹配,則檔案是相同的並且沒有被篡改。
MD5通常用於驗證檔案。使用MD5雜湊來測試檔案的副本與原始檔案是否匹配比逐位檢查兩個副本是否匹配要簡單得多。
MD5曾用於資訊安全和加密,但如今其主要用途是身份驗證。由於駭客可以建立一個與完全不同的檔案具有完全相同雜湊值的偽造檔案,因此MD5在有人篡改檔案的情況下並不安全。
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP