0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

md5是什么_md5怎么用

姚小熊27 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2020-11-16 15:42 ? 次閱讀

md5是什么

MD5信息摘要算法(英語(yǔ):MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數(shù),可以產(chǎn)生出一個(gè)128位(16字節(jié))的散列值(hash value),用于確保信息傳輸完整一致。MD5由美國(guó)密碼學(xué)家羅納德·李維斯特(Ronald Linn Rivest)設(shè)計(jì),于1992年公開(kāi),用以取代MD4算法。這套算法的程序在 RFC 1321 標(biāo)準(zhǔn)中被加以規(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ù)字簽名等用途。

MD5發(fā)展歷史

1992年8月,羅納德·李維斯特向互聯(lián)網(wǎng)工程任務(wù)組(IETF)提交了一份重要文件,描述了這種算法的原理。由于這種算法的公開(kāi)性和安全性,在90年代被廣泛使用在各種程序語(yǔ)言中,用以確保資料傳遞無(wú)誤等。

MD5由MD4、MD3、MD2改進(jìn)而來(lái),主要增強(qiáng)算法復(fù)雜度和不可逆性。MD5算法因其普遍、穩(wěn)定、快速的特點(diǎn),仍廣泛應(yīng)用于普通數(shù)據(jù)的加密保護(hù)領(lǐng)域。

MD2

Rivest在1989年開(kāi)發(fā)出MD2算法 [3] 。在這個(gè)算法中,首先對(duì)信息進(jìn)行數(shù)據(jù)補(bǔ)位,使信息的字節(jié)長(zhǎng)度是16的倍數(shù)。然后,以一個(gè)16位的校驗(yàn)和追加到信息末尾,并且根據(jù)這個(gè)新產(chǎn)生的信息計(jì)算出散列值。后來(lái),Rogier和Chauvaud發(fā)現(xiàn)如果忽略了校驗(yàn)和MD2將產(chǎn)生沖突。MD2算法加密后結(jié)果是唯一的(即不同信息加密后的結(jié)果不同)。

MD4

為了加強(qiáng)算法的安全性,Rivest在1990年又開(kāi)發(fā)出MD4算法 [3] 。MD4算法同樣需要填補(bǔ)信息以確保信息的比特位長(zhǎng)度減去448后能被512整除(信息比特位長(zhǎng)度mod 512 = 448)。然后,一個(gè)以64位二進(jìn)制表示的信息的最初長(zhǎng)度被添加進(jìn)來(lái)。信息被處理成512位damgard/merkle迭代結(jié)構(gòu)的區(qū)塊,而且每個(gè)區(qū)塊要通過(guò)三個(gè)不同步驟的處理。Den boer和Bosselaers以及其他人很快的發(fā)現(xiàn)了攻擊MD4版本中第一步和第三步的漏洞。Dobbertin向大家演示了如何利用一部普通的個(gè)人電腦在幾分鐘內(nèi)找到MD4完整版本中的沖突(這個(gè)沖突實(shí)際上是一種漏洞,它將導(dǎo)致對(duì)不同的內(nèi)容進(jìn)行加密卻可能得到相同的加密后結(jié)果)。

MD5

1991年,Rivest開(kāi)發(fā)出技術(shù)上更為趨近成熟的MD5算法。它在MD4的基礎(chǔ)上增加了“安全帶”(safety-belts)的概念。雖然MD5比MD4復(fù)雜度大一些,但卻更為安全。這個(gè)算法很明顯的由四個(gè)和MD4設(shè)計(jì)有少許不同的步驟組成。在MD5算法中,信息-摘要的大小和填充的必要條件與MD4完全相同。Den boer和Bosselaers曾發(fā)現(xiàn)MD5算法中的假?zèng)_突(pseudo-collisions),但除此之外就沒(méi)有其他被發(fā)現(xiàn)的加密后結(jié)果了。

md5怎么用

1、首先在沒(méi)有下載的情況下需要先下載軟件。然后新建一個(gè)文件夾MD5.txt。

2、在文件夾里輸入軟件發(fā)布方提供的校驗(yàn)碼。

3、如果文件是二進(jìn)制的,就需要在文件名前面加上星號(hào)大。

4、之后,在命令行窗口運(yùn)行如果顯示ok ,那么校驗(yàn)通過(guò)。
責(zé)任編輯:YYX

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4588

    瀏覽量

    92505
  • md5
    md5
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    20852
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    開(kāi)源物聯(lián)網(wǎng)技術(shù)--哈希算法MD5加密功能技術(shù)分享

    MD5(Message-Digest Algorithm 5)是一種常用的哈希函數(shù),通常用于數(shù)據(jù)加密和安全校驗(yàn)等場(chǎng)合。MD5 算法可以將任意長(zhǎng)度的消息輸入計(jì)算出一個(gè)固定長(zhǎng)度的摘要,其生成的摘要具有
    的頭像 發(fā)表于 09-21 09:57 ?793次閱讀
    開(kāi)源物聯(lián)網(wǎng)技術(shù)--哈希算法<b class='flag-5'>MD5</b>加密功能技術(shù)分享

    第三章:龍芯2K0300蜂鳥(niǎo)板資料分析

    |--u-boot-with-spl.bin.md5u boot bin md5格式文件
    發(fā)表于 09-11 17:47

    嵌入式學(xué)習(xí)-Ubuntu系統(tǒng)安裝之使用提供的ubuntu系統(tǒng)

    環(huán)境文件夾中有以下文件:為了保證開(kāi)發(fā)環(huán)境在下載過(guò)程中沒(méi)有出現(xiàn)文件損壞,下載完后要對(duì)每一個(gè)文件進(jìn)行MD5校驗(yàn)(可以通過(guò)網(wǎng)絡(luò)進(jìn)行MD5在線(xiàn)校驗(yàn),也可以下載MD5校驗(yàn)工具),文件校驗(yàn)完生成的校驗(yàn)碼與資料
    發(fā)表于 08-09 15:40

    Ubuntu系統(tǒng)安裝之使用提供的ubuntu系統(tǒng)

    環(huán)境文件夾中有以下文件:為了保證開(kāi)發(fā)環(huán)境在下載過(guò)程中沒(méi)有出現(xiàn)文件損壞,下載完后要對(duì)每一個(gè)文件進(jìn)行MD5校驗(yàn)(可以通過(guò)網(wǎng)絡(luò)進(jìn)行MD5在線(xiàn)校驗(yàn),也可以下載MD5校驗(yàn)工具),文件校驗(yàn)完生成的校驗(yàn)碼與資料
    發(fā)表于 08-08 11:00

    如何利用MD系列電調(diào)適配呼吸機(jī)電機(jī)

    MD系列電調(diào)包括MD100、MD200系列,是針對(duì)無(wú)刷電機(jī)控制而設(shè)計(jì)的FOC控制器,支持中低功率直流無(wú)刷電機(jī)(支持伺服、霍爾和無(wú)感)。電調(diào)具有完善的保護(hù)機(jī)制和功能接口,以滿(mǎn)足各種應(yīng)用場(chǎng)景。本文將介紹如何利用
    的頭像 發(fā)表于 08-06 16:21 ?497次閱讀
    如何利用<b class='flag-5'>MD</b>系列電調(diào)適配呼吸機(jī)電機(jī)

    ESP8266上加載micropython,文件的MD5與閃存中的數(shù)據(jù)不匹配怎么解決?

    ESP8266 上加載 micropython,文件的 MD5 與閃存中的數(shù)據(jù)不匹配!
    發(fā)表于 07-19 08:08

    ESP8266 MD5怎么使用?

    ROM 中有一些 MD5 功能 提供 ( MD5Final = 0x40009900 ); 提供 ( MD5Init = 0x40009818 ); 提供 ( MD5Update =
    發(fā)表于 07-10 07:35

    idf.py下載程序,MD5不匹配導(dǎo)致下載失敗怎么解決?

    : MD5 of file does not match data in flash! esptool.py failed with exit code 2 idf輸出如上所示,我的是ESP32比較
    發(fā)表于 06-24 08:38

    esp32燒錄flash時(shí)md5驗(yàn)證錯(cuò)誤,導(dǎo)致不能燒錄要怎么處理?

    的代碼是可以燒錄的。不清楚為什么SDIO就會(huì)導(dǎo)致MD5錯(cuò)誤,從而導(dǎo)致不能燒錄? ESP-IDF版本 V4.2
    發(fā)表于 06-24 06:28

    ESP32-Sense Kit idf4.3下載固件md5報(bào)錯(cuò)如何解決?

    買(mǎi)的ESP32-Sense Kit,下載固件時(shí)出現(xiàn)md5錯(cuò)誤,下載器是附帶的jtag,請(qǐng)問(wèn)該如何解決?
    發(fā)表于 06-20 08:14

    ESP32-WROOM-32D無(wú)法寫(xiě)入flash,MD5檢驗(yàn)錯(cuò)誤:MD5 of file does not match data in flash怎么解決?

    kbit/s)... Filemd5: b181f1484c264652f0f20d506db35eca Flash md5: 4c03feeb3298a10ad0ea93ed8c09925b MD5
    發(fā)表于 06-20 07:14

    esp32如何先將OAT下來(lái)的固件進(jìn)行sha256或者MD5校驗(yàn),再寫(xiě)入相應(yīng)的flash區(qū)域?

    esp32如何先將OAT下來(lái)的固件進(jìn)行sha256或者MD5校驗(yàn),再寫(xiě)入相應(yīng)的flash區(qū)域,OAT下來(lái)的固件先放在哪里?
    發(fā)表于 06-07 07:53

    Linux中文件MD5校驗(yàn)方法

    由于生成的md5信息中,每個(gè)md5值后都緊跟著對(duì)應(yīng)的文件的路徑(可能是相對(duì)路徑),于是將生成的md5保存到某個(gè)文件中,以后可以使用該文件來(lái)檢查md5值對(duì)應(yīng)文件內(nèi)容是否發(fā)生了修改。
    發(fā)表于 04-22 12:40 ?584次閱讀

    stm32寫(xiě)B(tài)ootLoader程序遇到的幾個(gè)問(wèn)題求解

    我最近在寫(xiě)一個(gè)BootLoader程序,以前沒(méi)有接觸過(guò)md5和mbedtls,有些疑問(wèn)?,F(xiàn)在我需要使用md5校驗(yàn)文件完整性,但是官方的md5庫(kù)需要依賴(lài)mbedtls庫(kù),mbedtls庫(kù)必須
    發(fā)表于 03-28 07:48

    如何對(duì)MD5加密算法優(yōu)化?

    有人針對(duì)程序安全啟動(dòng)過(guò)程,進(jìn)行MD5算法的優(yōu)化嘛。目前采用標(biāo)準(zhǔn)算法,時(shí)間稍長(zhǎng),如果有人做過(guò)優(yōu)化的話(huà),可以分享一下,謝謝。
    發(fā)表于 02-18 08:20