MD5雜湊生成器

添加到網站 元資訊

其他工具

MD5雜湊生成器

MD5雜湊生成器

MD5 是一種 128 位哈希算法,由科學家 Ronald L. Rivest 在 1990 年代初期創建。 縮寫 MD5 代表消息摘要版本 5。

MD5 加密基於散列法,它涉及形成“指紋”或“總和”以進一步驗證其真實性。 使用此方法,您可以驗證信息的完整性以及密碼哈希的存儲。

MD5歷史

消息摘要算法 (MD5) 的歷史始於 1991 年,當時麻省理工學院教授 Ronald L. Rivest 報告了一種新算法的創建,該算法取代了過時的 MD4。 至於 MD4,正如德國密碼學家 Hans Dobbertin 後來所寫的那樣,確實發現了很多缺點。

Rivest 在 RFC 1321 中描述了新的 MD5 算法。

該算法的工作由研究人員 Bert den Boer 和 Anton Bosselars 繼續進行,他們在 1993 年證明了 MD5 中偽衝突的可能性,此時不同的初始化向量可以與相同的消息摘要匹配。

此外,在 1996 年,Hans Dobbertin 聲稱在 MD5 中發現了碰撞。 那時,更多首選的哈希算法為人所知,例如 RIPEMD-160 加密哈希函數 - 由 Hans Dobbertin、Anton Bosselars 和 Bart Prenel 開發,Whirlpool - 由 Vincent Raymen 和 Paulo Barreto 開發,以及 SHA-1 加密哈希算法。

由於 MD5 中的哈希大小(128 位)相對較小,因此有人談論過生日攻擊的可能性。 由 Jean-Luc Cook 於 2004 年發起的 MD5CRK 項目旨在研究使用生日攻擊的算法的漏洞。 但是,五個月後的 2004 年 8 月 17 日,由於賴雪佳領導的一組中國密碼學家發現了算法中的漏洞,該項目被縮減。

2005 年 3 月,數學家和密碼學家 Benne de Weger、Arjen Lenstra 和 Wang Xiaoyun 創建了兩個具有相同散列和不同公鑰的 X.509 文檔。

一年後,即 2006 年 3 月,捷克密碼學家 Vlastimil Klima 發布了一種算法,您可以在一分鐘內在一台簡單的計算機上確定碰撞。 該算法被稱為“隧道”方法。

作為對工作成果的分析,2008 年,美國國土安全部國家網絡安全管理局 (US-CERT) 的部門建議參與開發的每個人軟件、網站以及網絡用戶,停止使用 MD5 算法,無論其應用目的如何。 之所以提出這樣的建議,是因為他在研究過程中表現出的不可靠性。

2010 年 12 月,中國密碼學家謝濤和馮登國發現了 512 位(一個塊)的消息衝突。 以前,僅在長度為兩個塊或更多的消息中發現衝突。 後來,馬克史蒂文斯通過發布具有相同 MD5 哈希值的區塊取得了類似的結果。 他還開發了一種算法來獲得這種類型的碰撞。

最後一個終結 MD5 算法發展歷史的文件是徵求意見稿——RFC 6151(RFC 是由互聯網工程委員會 (IETF) 制定的官方文件,它描述了特定的規範技術),它實際上將 MD5 識別為不安全的哈希算法。 該文檔建議放棄它,選擇 SHA-2 系列加密算法作為替代方案。

所討論的 MD5 算法被認為是最早用於檢查文件完整性和在 Web 應用程序數據庫中存儲密碼的算法標準之一。

但實際上,相對簡單的功能、較短的輸出長度和執行的操作的簡單性,是該算法的優點,也決定了它的缺點——MD5是指容易被黑客攻擊且具有較低程度的算法防止生日攻擊。

什麼是MD5?

什麼是MD5?

MD5 散列算法可用於與創建電子數字簽名、安全密碼、加密在線密鑰相關的各個領域。 它可以在 PC 上檢查信息的完整性。

最初,MD5被認為是一種比較強的加密算法,但由於在研究中發現了不足,目前建議更換為另一種更安全的哈希算法。

使用示例

MD5算法的主要優點是適用範圍廣。

該算法允許您檢查下載信息的真實性和完整性

例如,除了用於安裝軟件的軟件包外,還有用於驗證的校驗和值。

還實踐了使用MD5算法對密碼進行哈希處理

例如,Unix 操作系統積極使用此算法作為散列工具。 需要注意的是,在一些Linux系統中,MD5方法也被積極地用於存儲密碼。

已知以下存儲密碼的方式:

  • 沒有散列的標準存儲。這種​​方法的缺點是當數據庫被黑客攻擊時信息洩露的風險很高。
  • 僅存儲密碼哈希值。使用預先準備的哈希表可以輕鬆找到此類數據。 為了填寫這些表格,使用了低複雜度的通用密碼。
  • 在名為“salt”的密碼中添加幾個字符。之後,對結果進行哈希處理。 通過此類操作獲得的密碼必須以明文形式存儲。 搜索以這種方式創建的密碼時,表格將無濟於事。

MD5哈希算法可用於驗證從網絡下載的文件

當使用可以更改文件屬性並啟用哈希編碼算法的專用實用程序時,這成為可能。

MD5用於創建web應用程序

在開發和配置身份驗證系統、腳本或面板的過程中,您可以為單獨的行生成哈希碼。

MD5算法的可靠性

長期以來,我們稱為 MD5 算法的哈希技術一直被認為相當可靠。 與此同時,沒有人談論它的理想性。 無法保證該算法不會受到攻擊並提供 100% 的信息不可侵犯性。

作為許多科學家工作的結果,該技術的某些缺點被確定。 主要是加密過程中碰撞檢測導致的漏洞。

衝突是當輸入不同的輸入數據時獲得相同輸出結果的概率。 這個概率越高,所用算法的保護級別越低。

研究人員進行了密碼分析並確定了幾種破解 MD5 哈希的方法:

  • 暴力攻擊可視為一種通用的黑客攻擊方法。 但是,它也有缺點——方法很長。 為了抵​​消它,使用了增加鍵數的技術。 該方法常用於評估密碼加密強度的高低。
  • RainbowCrack 是一個特殊的程序,它允許您創建一個散列庫,在此基礎上幾乎可以即時破解字母和數字的密碼。
  • 要使用字典選擇密碼,需要使用字典數據庫和現成的程序。
  • 在使用碰撞檢測方法時,它們對具有相同開頭的不同消息取相似的函數值。 這種方法在 20 世紀末被積極使用。

獲得相同哈希碼的公式為:MD5(4L1) = MD5(4L2)。

2004 年,中國科學家發現了系統中的一個漏洞,使得在短時間內檢測到碰撞成為可能。

2006 年,人們發現了一種方法,可以讓您使用所謂的“隧道”檢測普通計算機上的有害文件。

儘管存在主要與 MD5 漏洞相關的某些問題,但由於該算法在獨立開發 Web 應用程序以及其他必要情況下的積極使用,因此仍然需要該算法。