md5是什么
md5是什么
MD5,即消息摘要算法(英語(yǔ):MD5 Message-Digest Algorithm)。是一種被廣泛使用的密碼散梁碰列函數(shù),將數(shù)據(jù)(如一段文字)運(yùn)算變?yōu)榱硪还潭ㄩL(zhǎng)度值,是散列算法的基礎(chǔ)原理,可以產(chǎn)生出一個(gè)128位(16字節(jié))的散列值(hash value),用于確保信息傳輸完整一致。
MD5由美國(guó)密碼學(xué)家羅納德·李維斯特(Ronald Linn Rivest)設(shè)計(jì),于1992年公開(kāi),用以取代MD4算法。
這套算法的程序在?RFC 1321?中被加以規(guī)范。
1996年后被證實(shí)存在弱點(diǎn),可以被加以破衫渣茄解,對(duì)于需要高度安全性的數(shù)據(jù),專(zhuān)家一般建議改用其他算法,如SHA-2。2004年,證實(shí)MD5算法無(wú)法防止碰撞(collision),因此不適用于安全性認(rèn)證,如SSL公開(kāi)密鑰認(rèn)證或是數(shù)字簽名等用途。
擴(kuò)展資料
MD5在現(xiàn)實(shí)中的應(yīng)用
MD5已經(jīng)廣泛使用在為文件傳輸提供一定的可靠性方面。
例如,服務(wù)器預(yù)先提供一個(gè)MD5校驗(yàn)和,用戶(hù)下載完文件以后,用MD5算法計(jì)算下載文件的MD5校驗(yàn)和,然后通過(guò)檢查這兩個(gè)校驗(yàn)和是否一致,就能判斷下載的文件是否出錯(cuò)。
MD5亦有應(yīng)用于部分網(wǎng)上*場(chǎng)以保證**的公平性,原理是系統(tǒng)先在玩家**前已生成該局的結(jié)果,將該結(jié)果的字符串配合或察一組隨機(jī)字符串利用MD5 加密,將該加密字符串于玩家**前便顯示給玩家,再在結(jié)果開(kāi)出后將未加密的字符串顯示給玩家,玩家便可利用MD5工具加密驗(yàn)證該字符串是否吻合。
MD5是什么東西啊,為何刷機(jī)前要核實(shí)MD5
1、校驗(yàn)md5是為了驗(yàn)證文件一致性,保證文件的正確性,防止下載的文件被篡改,注入木馬等百科**程序。每個(gè)文件都可以用MD5驗(yàn)證程序算出一個(gè)固定的MD5碼來(lái),如過(guò)與最初發(fā)布者的md5驗(yàn)證一致則文件沒(méi)有問(wèn)題和風(fēng)險(xiǎn)。
2、地球上任何人都有自己****的指紋,與之類(lèi)似,MD5可以為任何文件(不管其大小、格式、數(shù)量)產(chǎn)生一個(gè)同樣****的md5“數(shù)字指紋”,如果任何人對(duì)文件做了任何改動(dòng),其MD5值也就是對(duì)應(yīng)的“數(shù)字指紋”都會(huì)發(fā)生變化。
3、Message?Digest?Algorithm?MD5(中文名為消息摘要算法第五版)為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù),確保信息傳輸完整一致。是計(jì)算機(jī)廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法),主流編程語(yǔ)言普遍已有MD5實(shí)現(xiàn)。將數(shù)據(jù)(如漢字)運(yùn)算為另一固定長(zhǎng)度值,是雜湊算法的基礎(chǔ)原理,MD5的前身有MD2、MD3和MD4。
5、MD5算法具有以下特點(diǎn):
1、壓縮性:任意長(zhǎng)度的數(shù)據(jù),算出的MD5值長(zhǎng)度都是固定的。
2、容易計(jì)算:從原數(shù)據(jù)計(jì)算出MD5值很容易。
3、抗修改性:對(duì)原數(shù)據(jù)進(jìn)行任何改動(dòng),哪怕只修改1個(gè)字節(jié),所得到的MD5值都有很大區(qū)別。
4、強(qiáng)抗碰撞:已知原數(shù)據(jù)和其MD5值,想找到一個(gè)具有相同MD5值的數(shù)據(jù)(即偽造數(shù)據(jù))是非常困難的。
md5是什么東西啊?
md5指的是MD5信息摘要算法。
MD5信息摘要算法是一種被廣泛使用的密碼散列函數(shù),可以產(chǎn)生出一個(gè)128位(16字節(jié))的散列值(hash value),用于確保信息傳輸完整一致。
MD5由美國(guó)密碼學(xué)家羅納德·李維斯特(Ronald Linn Rivest)設(shè)計(jì),于1992年公開(kāi),用以取代MD4算法。
MD5的算法:
在MD5算法中,首先需要對(duì)信息進(jìn)行填充,這個(gè)數(shù)據(jù)按位(bit)補(bǔ)充,要求最終的位數(shù)對(duì)512求模的結(jié)果為448。也就是說(shuō)數(shù)據(jù)補(bǔ)位后,其位數(shù)長(zhǎng)度只差64位(bit)就是512的整數(shù)倍。即便是這個(gè)數(shù)據(jù)的位數(shù)對(duì)512求模的結(jié)果正好是448也必須進(jìn)行補(bǔ)位。
補(bǔ)位的實(shí)現(xiàn)過(guò)程:首先在數(shù)據(jù)后補(bǔ)一個(gè)1bit; 接著在后面補(bǔ)上一堆0bit, 直到整個(gè)數(shù)據(jù)的位數(shù)對(duì)512求模的結(jié)果正好為448。
總之,至少補(bǔ)1位,而最多可能補(bǔ)512位。