什麼是MD5? (MD5消息摘要算法)

MD5的定義及其歷史和漏洞

MD5(技術上稱為MD5消息摘要算法 )是一種密碼散列函數,其主要目的是驗證文件是否未改變。

MD5不是通過比較原始數據來確認兩組數據是相同的,而是通過在兩組數據上生成校驗和 ,然後比較校驗和來驗證它們是否相同。

MD5有一些缺陷,所以它對高級加密應用程序沒有用處,但將它用於標准文件驗證是完全可以接受的。

使用MD5檢查器或MD5發生器

Microsoft File Checksum完整性驗證程序 (FCIV)是一款免費的計算器,可以從實際文件生成MD5校驗和,而不僅僅是文本。 請參閱如何 使用FCIV 驗證Windows中的文件完整性以了解如何使用此命令行程序。

奇蹟沙拉MD5哈希生成器工具是一種簡單的方法來獲得一串字母,數字和符號的MD5哈希值。 還有很多其他的存在,比如MD5哈希生成器,PasswordsGenerator和OnlineMD5。

當使用相同的散列算法時,會產生相同的結果。 這意味著您可以使用一台MD5計算器來獲取某些特定文本的MD5校驗和,然後使用完全不同的MD5計算器來獲得完全相同的結果。 這可以通過基於MD5散列函數生成校驗和的每個工具來重複。

歷史& MD5的漏洞

MD5是由Ronald Rivest發明的,但這只是他三種算法中的一種。

他開發的第一個散列函數是1989年的MD2,它是為8位計算機構建的。 雖然MD2仍在使用中,但它並不適用於需要高度安全性的應用程序,因為它顯示出容易受到各種攻擊。

MD2在1990年被MD4所取代.MD4是為32位機器製造的,比MD2要快得多,但也顯示出其弱點,現在被互聯網工程任務組視為已經過時。

MD5於1992年發布,也是為32位機器而構建的。 MD5並不像MD4那麼快,但它被認為比以前的MDx實現更安全。

儘管MD5比MD2和MD4更安全,但其他加密散列函數(如SHA-1 )已被建議作為替代方案,因為MD5也被證明存在安全漏洞。

卡耐基梅隆大學軟件工程研究所對MD5說: “軟件開發人員,認證機構,網站所有者和用戶應該避免使用任何能力的MD5算法。正如以前的研究表明的那樣,它應該被認為是加密破壞的,不適合進一步使用“。

2008年,國家標準與技術研究院建議將MD6作為SHA-3的替代品。 您可以在此閱讀有關此提案的更多信息

有關MD5哈希的更多信息

MD5散列長度為128位,通常以32位十六進制值等效顯示。 無論文件或文本的大小如何都是如此。

其中一個例子是十六進制值120EA8A25E5D487BF68B5F7096440019 ,其中明文轉換為“This is a test”。 添加更多的文字閱讀“這是一個測試,以顯示文本的長度如何不重要。” 轉換為完全不同的值,但具有相同數量的字符: 6c16fcac44da359e1c3d81f19181735b

實際上,即使是一個零字符的字符串也有一個十六進制值d41d8cd98f00b204e9800998ecf8427e ,並且即使使用一個句點也會使值為5058f1af8388633f609cadb75a75dc9d

MD5校驗和被建立為不可逆的,這意味著你不能查看校驗和並識別原始輸入的數據。 據說,有大量的MD5“解密器”被宣稱可以解密MD5值,但真正發生的是他們創建了很多值的校驗和,然後讓您在他們的數據庫中查找校驗和看看他們是否有能夠顯示原始數據的匹配項。

MD5Decrypt和MD5 Decrypter是兩個免費的在線工具,可以做到這一點,但它們只適用於常用的單詞和短語。

查看什麼是校驗和? 有關MD5校驗和的更多示例以及從文件生成MD5哈希值的一些免費方法。