99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

md5的算法步驟及應(yīng)用

姚小熊27 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2020-11-16 16:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

md5的算法步驟

按位補(bǔ)充數(shù)據(jù)

在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è)1 bit; 接著在后面補(bǔ)上一堆0 bit, 直到整個(gè)數(shù)據(jù)的位數(shù)對(duì)512求模的結(jié)果正好為448??傊辽傺a(bǔ)1位,而最多可能補(bǔ)512位 。

擴(kuò)展長(zhǎng)度

在完成補(bǔ)位工作后,又將一個(gè)表示數(shù)據(jù)原始長(zhǎng)度的64 bit數(shù)(這是對(duì)原始數(shù)據(jù)沒(méi)有補(bǔ)位前長(zhǎng)度的描述,用二進(jìn)制來(lái)表示)補(bǔ)在最后。當(dāng)完成補(bǔ)位及補(bǔ)充數(shù)據(jù)的描述后,得到的結(jié)果數(shù)據(jù)長(zhǎng)度正好是512的整數(shù)倍。也就是說(shuō)長(zhǎng)度正好是16個(gè)(32bit) 字的整數(shù)倍 。

初始化MD緩存器

MD5運(yùn)算要用到一個(gè)128位的MD5緩存器,用來(lái)保存中間變量和最終結(jié)果。該緩存器又可看成是4個(gè)32位的寄存器A、B、C、D,初始化為 :

A : 01 23 45 67

B: 89 ab cd ef

C: fe dc ba 98

D: 76 54 32 10

處理數(shù)據(jù)段

首先定義4個(gè)非線性函數(shù)F、G、H、I,對(duì)輸入的報(bào)文運(yùn)算以512位數(shù)據(jù)段為單位進(jìn)行處理。對(duì)每個(gè)數(shù)據(jù)段都要進(jìn)行4輪的邏輯處理,在4輪中分別使用4個(gè)不同的函數(shù)F、G、H、I。每一輪以ABCD和當(dāng)前的512位的塊為輸入,處理后送入ABCD(128位)。

輸出

信息摘要最終處理成以A, B, C, D 的形式輸出。也就是開(kāi)始于A的低位在前的順序字節(jié),結(jié)束于D的高位在前的順序字節(jié)。

md5應(yīng)用

用于密碼管理

當(dāng)我們需要保存某些密碼信息以用于身份確認(rèn)時(shí),如果直接將密碼信息以明碼方式保存在數(shù)據(jù)庫(kù)中,不使用任何保密措施,系統(tǒng)管理員就很容易能得到原來(lái)的密碼信息,這些信息一旦泄露, 密碼也很容易被破譯。為了增加安全性,有必要對(duì)數(shù)據(jù)庫(kù)中需要保密的信息進(jìn)行加密,這樣,即使有人得到了整個(gè)數(shù)據(jù)庫(kù),如果沒(méi)有解密算法,也不能得到原來(lái)的密碼信息。MD5算法可以很好地解決這個(gè)問(wèn)題,因?yàn)樗梢詫⑷我忾L(zhǎng)度的輸入串經(jīng)過(guò)計(jì)算得到固定長(zhǎng)度的輸出,而且只有在明文相同的情況下,才能等到相同的密文,并且這個(gè)算法是不可逆的,即便得到了加密以后的密文,也不可能通過(guò)解密算法反算出明文。這樣就可以把用戶的密碼以MD5值(或類似的其它算法)的方式保存起來(lái),用戶注冊(cè)的時(shí)候,系統(tǒng)是把用戶輸入的密碼計(jì)算成 MD5 值,然后再去和系統(tǒng)中保存的 MD5 值進(jìn)行比較,如果密文相同,就可以認(rèn)定密碼是正確的,否則密碼錯(cuò)誤。通過(guò)這樣的步驟,系統(tǒng)在并不知道用戶密碼明碼的情況下就可以確定用戶登錄系統(tǒng)的合法性。這樣不但可以避免用戶的密碼被具有系統(tǒng)管理員權(quán)限的用戶知道,而且還在一定程度上增加了密碼被破解的難度。

電子簽名

MD5 算法還可以作為一種電子簽名的方法來(lái)使用,使用 MD5算法就可以為任何文件(不管其大小、格式、數(shù)量)產(chǎn)生一個(gè)獨(dú)一無(wú)二的“數(shù)字指紋”,借助這個(gè)“數(shù)字指紋”,通過(guò)檢查文件前后 MD5 值是否發(fā)生了改變,就可以知道源文件是否被改動(dòng)。我們?cè)谙螺d軟件的時(shí)候經(jīng)常會(huì)發(fā)現(xiàn),軟件的下載頁(yè)面上除了會(huì)提供軟件的下載地址以外,還會(huì)給出一串長(zhǎng)長(zhǎng)的字符串。這串字符串其實(shí)就是該軟件的MD5 值,它的作用就在于下載該軟件后,對(duì)下載得到的文件用專門的軟件(如 Windows MD5 check 等)做一次 MD5 校驗(yàn),以確保我們獲得的文件與該站點(diǎn)提供的文件為同一文件。利用 MD5 算法來(lái)進(jìn)行文件校驗(yàn)的方案被大量應(yīng)用到軟件下載站、論壇數(shù)據(jù)庫(kù)、系統(tǒng)文件安全等方面 。

垃圾郵件篩選

在電子郵件使用越來(lái)越普遍的情況下,可以利用 MD5 算法在郵件接收服務(wù)器上進(jìn)行垃圾郵件的篩選,以減少此類郵件的干擾,具體思路如下:

建立一個(gè)郵件 MD5 值資料庫(kù),分別儲(chǔ)存郵件的 MD5 值、允許出現(xiàn)的次數(shù)(假定為 3)和出現(xiàn)次數(shù)(初值為零)。

對(duì)每一封收到的郵件,將它的正文部分進(jìn)行MD5 計(jì)算,得到 MD5 值,將這個(gè)值在資料庫(kù)中進(jìn)行搜索。

如未發(fā)現(xiàn)相同的 MD5 值,說(shuō)明此郵件是第一次收到,將此 MD5 值存入資料庫(kù),并將出現(xiàn)次數(shù)置為1,轉(zhuǎn)到第五步。

如發(fā)現(xiàn)相同的 MD5 值,說(shuō)明收到過(guò)同樣內(nèi)容的郵件,將出現(xiàn)次數(shù)加 1,并與允許出現(xiàn)次數(shù)相比較,如小于允許出現(xiàn)次數(shù),就轉(zhuǎn)到第五步。否則中止接收該郵件。結(jié)束。

接收該郵件。
責(zé)任編輯:YYX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎ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

    文章

    4709

    瀏覽量

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

    關(guān)注

    0

    文章

    30

    瀏覽量

    21095
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    harmony-utils之MD5,MD5工具類

    harmony-utils之MD5,MD5工具類 harmony-utils 簡(jiǎn)介與說(shuō)明 [harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫(kù),借助眾多實(shí)用工具類,致力于
    的頭像 發(fā)表于 06-30 16:49 ?154次閱讀

    請(qǐng)問(wèn)LIS2MDL的表5中Idd_PD的值,是在idle mode下得到的嗎,寄存器60H的md1,md0均為1?

    請(qǐng)問(wèn)LIS2MDL的表5中Idd_PD的值,是在idle mode下得到的嗎,寄存器60H的md1,md0均為1?多謝
    發(fā)表于 03-14 14:00

    普冉PY32MD310單片機(jī)介紹

    ,芯片集成了多個(gè)通訊接口,一個(gè) I2C、2個(gè)SPI和2個(gè)USART。還有1 路 12-bit ADC,5 個(gè) 16 位定時(shí)器,以及 2 路比較器外設(shè)。PY32MD310單片機(jī)采用QFN32封裝,有16個(gè)通用端口,均可作為外部中斷。
    的頭像 發(fā)表于 01-15 10:24 ?771次閱讀
    普冉PY32<b class='flag-5'>MD</b>310單片機(jī)介紹

    安裝的是CCS7.0,在新建工程的時(shí)候,為什么找不到PGA900這個(gè)芯片?

    我安裝的是CCS7.0,在新建工程的時(shí)候,找不到PGA900這個(gè)芯片。另外,CCS7.0下載頁(yè)面還有一個(gè)文件MD5,這是什么文件,有什么作用,怎么用?
    發(fā)表于 12-27 06:43

    PostgreSQL將不再支持MD5密碼

    根據(jù) PostgreSQL 代碼倉(cāng)庫(kù)的最新動(dòng)態(tài),近日有維護(hù)者提交了“棄用 MD5 密碼支持”的 commit。 該維護(hù)者指出,MD5 被認(rèn)為不適合用作加密散列算法已有一段時(shí)間。 此外
    的頭像 發(fā)表于 12-10 16:14 ?505次閱讀

    使用PCM1860的過(guò)程中,發(fā)現(xiàn)PCM1860的DOUT輸出不正常,為什么?

    在使用1860的過(guò)程中,發(fā)現(xiàn)PCM1860的DOUT輸出不正常. AVDD=3.3V,IODD=3.3V,DDD=3.3V MD0=0,MD1=0,MD2=0,MD3=1,
    發(fā)表于 09-29 07:21

    開(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 ?2703次閱讀
    開(kāi)源物聯(lián)網(wǎng)技術(shù)--哈希<b class='flag-5'>算法</b><b class='flag-5'>MD5</b>加密功能技術(shù)分享

    第三章:龍芯2K0300蜂鳥板資料分析

    |--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在線校驗(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在線校驗(yàn),也可以下載MD5校驗(yàn)工具),文件校驗(yàn)完生成的校驗(yàn)碼與資料
    發(fā)表于 08-08 11:00

    MD9360四路CANFD應(yīng)用實(shí)例

    隨著通信技術(shù)的進(jìn)步和總線技術(shù)的廣泛應(yīng)用,對(duì)總線帶寬和傳輸速率提出了更高的要求。MD9360-T核心板提供四路CANFD,讓你的數(shù)據(jù)傳輸更快速、更可靠。MD9360-EV-Board評(píng)估板(如圖1所示
    的頭像 發(fā)表于 08-08 08:25 ?764次閱讀
    <b class='flag-5'>MD</b>9360四路CANFD應(yīng)用實(shí)例

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

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

    MD10x系列電調(diào)的上位機(jī)功能

    MD10xB系列電調(diào)更新為使用MD Tool上位機(jī)進(jìn)行參數(shù)調(diào)試。新的MD Tool上位機(jī)可以更方便的進(jìn)行電調(diào)的性能評(píng)估,有實(shí)時(shí)參數(shù)曲線顯示,電機(jī)參數(shù)配置,固件更新等功能,本文將介紹MD
    的頭像 發(fā)表于 08-01 14:14 ?1066次閱讀
    <b class='flag-5'>MD</b>10x系列電調(diào)的上位機(jī)功能

    兩臺(tái)IR615和華為USG6335E建立IPsecVPN的過(guò)程

    )、路由器IR615-2的子網(wǎng)(10.168.3.0/24)之間的數(shù)據(jù)流進(jìn)行安全保護(hù)。安全協(xié)議采用ESP,加密算法采用3DES,認(rèn)證算法采用MD5,組網(wǎng)拓?fù)淙缦拢?組網(wǎng)環(huán)境: l USG6335E:具有
    發(fā)表于 07-24 07:20

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

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