『壹』 MD5加密問題
1.如果是一般的話只有32&16
2.本來在理論上不可破解,但好像被人破解了,你可以看下參考
目前網上的dm5破解都是通過建立資料庫進行查詢的方法進行破解的
好像還沒有直接破解的工具,網上的都屬於類似窮舉的方法
MD5簡介
MD5的全稱是Message-digest Algorithm 5(信息-摘要演算法),用於確保信息傳輸完整一致。在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc,的Ronald L. Rivest開發出來,經MD2、MD3和MD4發展而來。它的作用是讓大容量信息在用數字簽名軟體簽署私人密鑰前被"壓縮"成一種保密的格式(就是把一個任意長度的位元組串變換成一定長的大整數)。不管是MD2、MD4還是MD5,它們都需要獲得一個隨機長度的信息並產生一個128位的信息摘要。雖然這些演算法的結構或多或少有些相似,但MD2的設計與MD4和MD5完全不同,那是因為MD2是為8位機器做過設計優化的,而MD4和MD5卻是面向32位的電腦。這三個演算法的描述和c語言源代碼在Internet RFC 1321中有詳細的描述(http://www.ietf.org/rfc/rfc1321.txt),這是一份最權威的文檔,由Ronald L. Rivest在1992年8月向IETF提交。
Rivest在1989年開發出MD2演算法。在這個演算法中,首先對信息進行數據補位,使信息的位元組長度是16的倍數。然後,以一個16位的檢驗和追加到信息末尾。並且根據這個新產生的信息計算出散列值。後來,Rogier和Chauvaud發現如果忽略了檢驗和將產生MD2沖突。MD2演算法的加密後結果是唯一的--即沒有重復。
為了加強演算法的安全性,Rivest在1990年又開發出MD4演算法。MD4演算法同樣需要填補信息以確保信息的位元組長度加上448後能被512整除(信息位元組長度mod 512 = 448)。然後,一個以64位二進製表示的信息的最初長度被添加進來。信息被處理成512位damg?rd/merkle迭代結構的區塊,而且每個區塊要通過三個不同步驟的處理。Den boer和Bosselaers以及其他人很快的發現了攻擊MD4版本中第一步和第三步的漏洞。Dobbertin向大家演示了如何利用一部普通的個人電腦在幾分鍾內找到MD4完整版本中的沖突(這個沖突實際上是一種漏洞,它將導致對不同的內容進行加密卻可能得到相同的加密後結果)。毫無疑問,MD4就此被淘汰掉了。
盡管MD4演算法在安全上有個這么大的漏洞,但它對在其後才被開發出來的好幾種信息安全加密演算法的出現卻有著不可忽視的引導作用。除了MD5以外,其中比較有名的還有sha-1、RIPEMD以及Haval等。
一年以後,即1991年,Rivest開發出技術上更為趨近成熟的md5演算法。它在MD4的基礎上增加了"安全-帶子"(safety-belts)的概念。雖然MD5比MD4稍微慢一些,但卻更為安全。這個演算法很明顯的由四個和MD4設計有少許不同的步驟組成。在MD5演算法中,信息-摘要的大小和填充的必要條件與MD5完全相同。Den boer和Bosselaers曾發現MD5演算法中的假沖突(pseudo-collisions),但除此之外就沒有其他被發現的加密後結果了。
Van oorschot和Wiener曾經考慮過一個在散列中暴力搜尋沖突的函數(brute-force hash function),而且他們猜測一個被設計專門用來搜索MD5沖突的機器(這台機器在1994年的製造成本大約是一百萬美元)可以平均每24天就找到一個沖突。但單從1991年到2001年這10年間,竟沒有出現替代MD5演算法的MD6或被叫做其他什麼名字的新演算法這一點,我們就可以看出這個瑕疵並沒有太多的影響MD5的安全性。上面所有這些都不足以成為MD5的在實際應用中的問題。並且,由於MD5演算法的使用不需要支付任何版權費用的,所以在一般的情況下(非絕密應用領域。但即便是應用在絕密領域內,MD5也不失為一種非常優秀的中間技術),MD5怎麼都應該算得上是非常安全的了。
2004年8月17日的美國加州聖巴巴拉的國際密碼學會議(Crypto』2004)上,來自中國山東大學的王小雲教授做了破譯MD5、HAVAL-128、 MD4和RIPEMD演算法的報告,公布了MD系列演算法的破解結果。宣告了固若金湯的世界通行密碼標准MD5的堡壘轟然倒塌,引發了密碼學界的軒然大波。
令世界頂尖密碼學家想像不到的是,破解MD5之後,2005年2月,王小雲教授又破解了另一國際密碼SHA-1。因為SHA-1在美國等國際社會有更加廣泛的應用,密碼被破的消息一出,在國際社會的反響可謂石破天驚。換句話說,王小雲的研究成果表明了從理論上講電子簽名可以偽造,必須及時添加限制條件,或者重新選用更為安全的密碼標准,以保證電子商務的安全。
MD5破解工程權威網站http://www.md5crk.com/ 是為了公開徵集專門針對MD5的攻擊而設立的,網站於2004年8月17日宣布:「中國研究人員發現了完整MD5演算法的碰撞;Wang, Feng, Lai與Yu公布了MD5、MD4、HAVAL-128、RIPEMD-128幾個 Hash函數的碰撞。這是近年來密碼學領域最具實質性的研究進展。使用他們的技術,在數個小時內就可以找到MD5碰撞。……由於這個里程碑式的發現,MD5CRK項目將在隨後48小時內結束」。
MD5用的是哈希函數,在計算機網路中應用較多的不可逆加密演算法有RSA公司發明的MD5演算法和由美國國家技術標准研究所建議的安全散列演算法SHA.
[編輯本段]演算法的應用
MD5的典型應用是對一段信息(Message)產生信息摘要(Message-Digest),以防止被篡改。比如,在UNIX下有很多軟體在下載的時候都有一個文件名相同,文件擴展名為.md5的文件,在這個文件中通常只有一行文本,大致結構如:
MD5 (tanajiya.tar.gz) =
這就是tanajiya.tar.gz文件的數字簽名。MD5將整個文件當作一個大文本信息,通過其不可逆的字元串變換演算法,產生了這個唯一的MD5信息摘要。為了讓讀者朋友對MD5的應用有個直觀的認識,筆者以一個比方和一個實例來簡要描述一下其工作過程:
大家都知道,地球上任何人都有自己獨一無二的指紋,這常常成為公安機關鑒別罪犯身份最值得信賴的方法;與之類似,MD5就可以為任何文件(不管其大小、格式、數量)產生一個同樣獨一無二的「數字指紋」,如果任何人對文件做了任何改動,其MD5值也就是對應的「數字指紋」都會發生變化。
我們常常在某些軟體下載站點的某軟體信息中看到其MD5值,它的作用就在於我們可以在下載該軟體後,對下載回來的文件用專門的軟體(如Windows MD5 Check等)做一次MD5校驗,以確保我們獲得的文件與該站點提供的文件為同一文件。利用MD5演算法來進行文件校驗的方案被大量應用到軟體下載站、論壇資料庫、系統文件安全等方面。
MD5的典型應用是對一段Message(位元組串)產生fingerprint(指紋),以防止被「篡改」。舉個例子,你將一段話寫在一個叫 readme.txt文件中,並對這個readme.txt產生一個MD5的值並記錄在案,然後你可以傳播這個文件給別人,別人如果修改了文件中的任何內容,你對這個文件重新計算MD5時就會發現(兩個MD5值不相同)。如果再有一個第三方的認證機構,用MD5還可以防止文件作者的「抵賴」,這就是所謂的數字簽名應用。
所以,要遇到了md5密碼的問題,比較好的辦法是:你可以用這個系統中的md5()函數重新設一個密碼,如admin,把生成的一串密碼覆蓋原來的就行了。
MD5還廣泛用於操作系統的登陸認證上,如Unix、各類BSD系統登錄密碼、數字簽名等諸多方。如在UNIX系統中用戶的密碼是以MD5(或其它類似的演算法)經Hash運算後存儲在文件系統中。當用戶登錄的時候,系統把用戶輸入的密碼進行MD5 Hash運算,然後再去和保存在文件系統中的MD5值進行比較,進而確定輸入的密碼是否正確。通過這樣的步驟,系統在並不知道用戶密碼的明碼的情況下就可以確定用戶登錄系統的合法性。這可以避免用戶的密碼被具有系統管理員許可權的用戶知道。MD5將任意長度的「位元組串」映射為一個128bit的大整數,並且是通過該128bit反推原始字元串是困難的,換句話說就是,即使你看到源程序和演算法描述,也無法將一個MD5的值變換回原始的字元串,從數學原理上說,是因為原始的字元串有無窮多個,這有點象不存在反函數的數學函數。所以,要遇到了md5密碼的問題,比較好的辦法是:你可以用這個系統中的md5()函數重新設一個密碼,如admin,把生成的一串密碼的Hash值覆蓋原來的Hash值就行了。
正是因為這個原因,現在被黑客使用最多的一種破譯密碼的方法就是一種被稱為"跑字典"的方法。有兩種方法得到字典,一種是日常搜集的用做密碼的字元串表,另一種是用排列組合方法生成的,先用MD5程序計算出這些字典項的MD5值,然後再用目標的MD5值在這個字典中檢索。我們假設密碼的最大長度為8位位元組(8 Bytes),同時密碼只能是字母和數字,共26+26+10=62個字元,排列組合出的字典的項數則是P(62,1)+P(62,2)….+P(62,8),那也已經是一個很天文的數字了,存儲這個字典就需要TB級的磁碟陣列,而且這種方法還有一個前提,就是能獲得目標賬戶的密碼MD5值的情況下才可以。這種加密技術被廣泛的應用於UNIX系統中,這也是為什麼UNIX系統比一般操作系統更為堅固一個重要原因。
『貳』 java現在md5加密不安全了嗎
針對md5加密是否不安全的討論,首先需要明確md5並非加密演算法,而是一種摘要演算法。它用於將任意長度的數據轉換為固定長度的輸出,常用於數據完整性校驗。然而,md5的安全性在逐漸降低,原因在於其輸出的哈希值容易被碰撞,即兩個不同的輸入可能產生相同的輸出哈希值。
md5的不安全性體現在其哈希值的碰撞風險上。理論上,由於輸入空間遠遠大於輸出空間,理論上可以找到兩個不同的輸入產生相同的md5哈希值。雖然找到這種碰撞需要大量計算,但在互聯網環境下,已有工具和演算法能夠實現這一目標,降低了md5的安全性。
例如,在身份驗證和密碼存儲場景中,使用md5加密密碼不再安全,因為攻擊者可以通過哈希碰撞找到相同的哈希值,進而嘗試破解密碼。為了增強安全性,推薦使用更強大的哈希演算法,如SHA-256。SHA-256具有更大的輸出空間和更高的安全級別,使得哈希碰撞難度大幅增加。
此外,盡管存在其他摘要演算法如SHA-1和SHA-3等,它們在安全性上優於md5。SHA-3提供了更好的安全性,其設計旨在抵抗已知的哈希碰撞攻擊策略,因此在密碼學應用中更為推薦。
總之,md5加密的不安全性體現在其較低的抵抗碰撞能力,使得它在現代應用中逐漸被更安全的哈希演算法所替代。在需要數據安全性的地方,選擇SHA-256或SHA-3等更強大的哈希演算法更為合適。
『叄』 MD5加密和MD5hash的區別
MD5加密和MD5 hash的區別為:摘要不同、攻擊強度不同、運行速度不同。
一、摘要不同
1、MD5加密:MD5加密摘要比MD5摘要短32bit,是264 是數量級的操作。
2、MD5 hash:MD5 hash摘要比MD5摘要長32bit,是280 數量級的操作。
二、攻擊強度不同
1、MD5加密:MD5加密對於強行攻擊,產生任何一個報文的強度更弱。
2、MD5 hash:MD5 hash對於強行攻擊,產生任何一個報文的強度更大。
三、運行速度不同
1、MD5加密:MD5加密的循環步驟比MD5 hash少,且要處理的緩存小,導致運行速度比MD5hash快。
2、MD5 hash:MD5 hash的循環步驟比MD5加密多,且要處理的緩存大,導致運行速度比MD5 加密慢。
『肆』 md5加密多少位
md5加密多少位?
MD5 加密後的位數有兩種:16 位與 32 位。默認使用32位。 (16 位實際上是從 32 位字元串中取中間的第 9 位到第 24 位的部分)為提高安全性。根據業務需求,可以對md5 添加偏移量。如對原有字元拼接指定位數的字元串
『伍』 MD5的加密是什麼意思
分類: 電腦/網路 >> 軟體
解析:
MD5的全稱是Message-Digest Algorithm 5,在90年代初由MIT的計算機科學實驗室和RSA Data Security Inc發明,經MD2、MD3和MD4發展而來。
Message-Digest泛指位元組串(Message)的Hash變換,就是把一個任意長度的位元組串變換成一定長的大整數。請注意我使用了"位元組串"而不是"字元串"這個詞,是因為這種變換只與位元組的值有關,與字元集或編碼方式無關。
MD5將任意長度的"位元組串"變換成一個128bit的大整數,並且它是一個不可逆的字元串變換演算法,換句話說就是,即使你看到源程序和演算法描述,也無法將一個MD5的值變換回原始的字元串,從數學原理上說,是因為原始的字元串有無窮多個,這有點象不存在反函數的數學函數。
MD5的典型應用是對一段Message(位元組串)產生fingerprint(指紋),以防止被"篡改"。舉個例子,你將一段話寫在一個叫readme.txt文件中,並對這個readme.txt產生一個MD5的值並記錄在案,然後你可以傳播這個文件給別人,別人如果修改了文件中的任何內容,你對這個文件重新計算MD5時就會發現。如果再有一個第三方的認證機構,用MD5還可以防止文件作者的"抵賴",這就是所謂的數字簽名應用。
MD5還廣泛用於加密和解密技術上,在很多操作系統中,用戶的密碼是以MD5值(或類似的其它演算法)的方式保存的,用戶Login的時候,系統是把用戶輸入的密碼計算成MD5值,然後再去和系統中保存的MD5值進行比較,而系統並不"知道"用戶的密碼是什麼。
一些黑客破獲這種密碼的方法是一種被稱為"跑字典"的方法。有兩種方法得到字典,一種是日常搜集的用做密碼的字元串表,另一種是用排列組合方法生成的,先用MD5程序計算出這些字典項的MD5值,然後再用目標的MD5值在這個字典中檢索。
即使假設密碼的最大長度為8,同時密碼只能是字母和數字,共26+26+10=62個字元,排列組合出的字典的項數則是P(62,1)+P(62,2)....+P(62,8),那也已經是一個很天文的數字了,存儲這個字典就需要TB級的磁碟組,而且這種方法還有一個前提,就是能獲得目標賬戶的密碼MD5值的情況下才可以。
在很多電子商務和社區應用中,管理用戶的Account是一種最常用的基本功能,盡管很多Application Server提供了這些基本組件,但很多應用開發者為了管理的更大的靈活性還是喜歡採用關系資料庫來管理用戶,懶惰的做法是用戶的密碼往往使用明文或簡單的變換後直接保存在資料庫中,因此這些用戶的密碼對軟體開發者或系統管理員來說可以說毫無保密可言,本文的目的是介紹MD5的Java Bean的實現,同時給出用MD5來處理用戶的Account密碼的例子,這種方法使得管理員和程序設計者都無法看到用戶的密碼,盡管他們可以初始化它們。但重要的一點是對於用戶密碼設置習慣的保
『陸』 md5加密演算法是什麼有哪些破解方法
MD5加密是一種常用的密碼加密方式,它可以將任意長度的信息通過一個演算法變成一個128位的固定長度的字元串,這個字元串通常被稱為MD5值。由於MD5演算法的不可逆性,所以可以將密碼進行MD5加密後存儲在資料庫中,以提高密碼的安全性。
為什麼要破解MD5加密?
盡管MD5加密演算法具有不可逆性,但是破解MD5加密也是有必要的。有時候我們忘記了自己的密碼,而存儲在資料庫中的密碼是經過MD5加密的,這時候我們就需要破解MD5加密來找回自己的密碼。此外,黑客也會通過破解MD5加密來獲取密碼,因此破解MD5加密也是一項安全工作。
如何破解MD5加密?
破解MD5加密有多種方式,其中一種比較簡單的方式就是使用cmd5在線解密工具。cmd5在線解密工具是一款免費的在線解密工具,它可以快速破解MD5加密密碼。下面是使用cmd5在線解密工具破解MD5加密的步驟:
1.打開cmd5在線解密網站,輸入需要破解的MD5加密密碼,然後點擊「解密」按鈕。
2.等待解密結果出現,如果解密成功,就會顯示出原始密碼。
3.如果解密失敗,可以嘗試使用其他破解工具或者使用暴力破解的方式進行破解。
cmd5在線解密的優點
相比於其他破解工具,cmd5在線解密具有以下優點:
1.簡單易用:只需要輸入需要破解的MD5加密密碼,就可以快速破解。
2.免費:cmd5在線解密是一款免費的在線解密工具,不需要支付任何費用。
3.高效:cmd5在線解密使用了先進的破解技術,可以快速破解大部分MD5加密密碼。
cmd5在線解密的注意事項
在使用cmd5在線解密工具的時候,需要注意以下事項:
1.保護個人信息:不要使用cmd5在線解密工具破解他人的密碼,也不要將自己的密碼輸入到不可信的網站中。
2.注意安全性:MD5加密雖然可以提高密碼的安全性,但並不是絕對安全的,因此在設置密碼時需要注意安全性。
『柒』 MD5加密是怎麼實現加密的
MD5加密步驟如下:
搜索站長工具,點擊打開。點擊導航里的代碼轉換工具。選擇MD5加密。輸入欲加密的字元串。選擇多少位。點擊加密。
MD5即信息摘要演算法5,是計算機廣泛使用的散列演算法之一,誕生於20世紀90年代初。用於確保信息傳輸完整一致,具有較好的安全性,廣泛運用於數字簽名、文件完整性驗證以及口令加密等領域。
『捌』 浠涔堟槸md5鍔犲瘑
浠庝簨緗戠粶瀹夊叏榪欎竴琛屼笟鐨勪漢閮界煡閬擄紝鎴戜滑鍋氭笚閫忔祴璇曟椂緇忓父浼氶亣鍒伴渶瑕佽В瀵嗙殑Md5瀵嗘枃銆備負浜嗚兘澶熸彁鍗囨晥鐜囷紝鎴戜滑鍙浠ュ湪緗戜笂鎵句竴浜涜兘澶熷湪綰縨d5瑙e瘑鐨勭綉絝欍備笅闈㈢粰澶у跺垎浜鍥藉唴甯哥敤鐨勫嚑涓鍏嶈垂MD5鍦ㄧ嚎瑙e瘑緗戠珯銆
涓銆丮D5鍦ㄧ嚎鍔犲瘑瑙e瘑
閽堝筸d5絳夊叏鐞冮氱敤鍏寮鐨勫姞瀵嗙畻娉曡繘琛屽弽鍚戞煡璇錛屽緩絝嬩簡瀵嗘枃瀵瑰簲鏌ヨ㈡暟鎹搴擄紝MD5鍔犲瘑瑙e瘑騫沖彴鍙鏌ヨ㈠緢澶氬嶆潅瀵嗘枃錛屾敮鎸佸氱嶇畻娉曪紝瀹炴椂鏌ヨ㈣板綍瓚呰繃24涓囦嚎鏉★紝鍏卞崰鐢160T紜鐩橈紝鎴愬姛鐜95%浠ヤ笂銆傝繖涓緗戠珯鍥藉唴寰堝氫漢鍦ㄤ嬌鐢錛屽洜涓哄畠鏄鍏嶈垂鐨勩傚傛灉鍦╩d5涓婅В瀵嗕笉浜嗙殑瀵嗘枃鍦ㄥ叾浠栬В瀹㈢綉絝欎篃鍩烘湰娌℃垙浜嗐