Can you summarize the following document?
        
  1992年8月,羅納德·李維斯特向網際網路工程任務組(IETF)提交了一份重要檔案,描述了這種演算法的原理。由於這種演算法的公開性和安全性,在90年代被廣泛使用在各種程式語言中,用以確保資料傳遞無誤等。  MD5由MD4、MD3、MD2改進而來,主要增強演算法複雜度和不可逆性。

  MD5曾被用於檔案校驗、SSL/TLS、IPsec、SSH,但MD5早已被發現有明顯的缺陷。

  MD5是輸入不定長度資訊,輸出固定長度128-bits的演算法。經過程式流程,生成四個32位資料,最後聯合起來成為一個128-bits雜湊。基本方式為,求餘、取餘、調整長度、與連結變數進行迴圈運算。得出結果。  formula_5 是 "XOR", "AND", "OR", "NOT" 的符號。

  一般128位的MD5雜湊被表示為32位十六進位制數字。以下是一個43位長的僅ASCII字母列的MD5雜湊:  即使在原文中作一個小變化(比如用c取代d)其雜湊也會發生巨大的變化:  空文的雜湊為:

  2009年,中國科學院的謝濤和馮登國僅用了2的碰撞演算法複雜度,破解了MD5的碰撞抵抗,該攻擊在普通計算機上執行只需要數秒鐘。2011年,RFC 6151 禁止MD5用作金鑰雜湊訊息鑑別碼。
MD5訊息摘要演算法(英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼雜湊函式,可以產生出一個128位元(16位元組)的雜湊值(hash value),用於確保資訊傳輸完整一致。MD5由美國密碼學家羅納德·李維斯特(英語:Ronald Linn Rivest)設計,於1992年公開,用以取代MD4演算法。這套演算法的程式在 RFC 1321 中被加以規範。