国产精品白浆熟女,国产偷亚洲偷欧美偷精品,,新免费无码国产在线看,国产激情久久久久影院老熟女

簡述md5算法的具體過程

JSON 2023-07-20 15:49:31 4126

MD5算法的具體過程如下

1、填充消息

我們需要將信息補充到512的倍數(shù)(也就是64字節(jié))。填充一個1再填充0,使得消息的長度對512取余為448.

舉例:比如原來的消息長度是64字節(jié),那么填充的長度就是448-64.也就是384字節(jié),使得長度為448字節(jié)。

2、 初始化MD緩沖區(qū)

MD5的嘻哈值是128位,我們按照32位一組,那么就可以分為4個組別,分別是A、B、C、D。經(jīng)過演練就可以得到,初始值可以自定義。

假如將MD緩沖區(qū)初始化為以下的值:

A = 0x67452301

B = 0xefcdab89

C = 0x98badcfe

D = 0x10325476

3、處理消息塊的結果

對于每一個消息塊(512位的)。都會執(zhí)行下面4步:

(1)將緩沖區(qū)的4個變量復制到臨時變量的abcd中。

(2)對于每一個512的消息,都會使用64位的函數(shù)F來處理(下面會講到),這個函數(shù)是用來對他們進行壓縮用的。

(3)將F的結果abcd變量累計相加,得到新的ABCD

(4)將ABCD賦值給緩沖區(qū)的abcd四個變量。

經(jīng)過一定的消息塊處理,最后緩沖區(qū)的四個變量就是MD5算法得出的結果。

關于壓縮函數(shù)F

MD5的核心就是一個循環(huán)運算算法,它由rounds 4輪一共64步組成,每一輪都由16個步驟。它們分別用到不同的非線性函數(shù)和加法常數(shù),其中在每一步都必須下面4個步驟:

(1)將消息塊分組按照允許民命為F0、F1....F15.

(2)復制緩沖區(qū)的4個變量到abcd當中。

(3)根據(jù)當前的輪數(shù)選擇不同的非線性函數(shù)F\G\I計算出T值

(4)將T和abcd當中的其中任意一個相加。你就會得到新的變量ABCD。并且更新到緩沖區(qū)。

具體實現(xiàn)如下:

i在0到15之間時:

T = (B & C) | ((~B) & D)

F = B ^ C ^ D

i在16到31之間時:

T = (D & B) | ((~D) & C)

F = (5 * i + 1) mod 16

i在32到47之間時:

T = B ^ C ^ D

F = (3 * i + 5) mod 16

i在48到63之間時:

T = C ^ (B | (~D))

F = (7 * i) mod 16

說明:符號“&”表示按照位邏輯和運算?!皘”代表按位邏輯或運算,“~”代表按位取反運算,MOD代表取余運算.

版權所屬:SO JSON在線解析

原文地址:http://zijieyoumin.cn/blog/401.html

轉(zhuǎn)載時必須以鏈接形式注明原始出處及本聲明。

本文主題:

如果本文對你有幫助,那么請你贊助我,讓我更有激情的寫下去,幫助更多的人。

關于作者
一個低調(diào)而悶騷的男人。
相關文章
MD5如何解密?
md5和base64的區(qū)別
MD5加密原理:保護數(shù)據(jù)安全的利器
md5和base64的區(qū)別
MD5加密原理:保護數(shù)據(jù)安全的利器
md5密文與明文之間的相互轉(zhuǎn)換
MD5是什么?作用是什么?
淺談md5加密中的加鹽是什么意思
垃圾分類怎么分類具體內(nèi)容
垃圾分類怎么分類具體內(nèi)容
最新文章
計算機網(wǎng)絡的相關內(nèi)容 219
SOJSON V6 JavaScript 解密技巧與分析 5786
微信客服人工電話95068:如何快速解封微信賬號(2025最新指南) 11566
Java Http請求,HttpURLConnection HTTP請求丟失頭信息,Head信息丟失解決方案 5036
實用API合集分享:教你輕松獲取IP地址的API合集 8796
Linux I/O重定向 6705
Ruby 循環(huán) - while、for、until、break、redo 和 retry 3990
Node.js:全局對象 3581
如何使用終端檢查Linux上的內(nèi)存使用情況 3779
JavaScript對象詳細剖析 3252
最熱文章
免費天氣API,天氣JSON API,不限次數(shù)獲取十五天的天氣預報 744380
最新MyEclipse8.5注冊碼,有效期到2020年 (已經(jīng)更新) 702889
蘋果電腦Mac怎么恢復出廠系統(tǒng)?蘋果系統(tǒng)怎么重裝系統(tǒng)? 678310
Jackson 時間格式化,時間注解 @JsonFormat 用法、時差問題說明 561901
我為什么要選擇RabbitMQ ,RabbitMQ簡介,各種MQ選型對比 511792
Elasticsearch教程(四) elasticsearch head 插件安裝和使用 483712
Jackson 美化輸出JSON,優(yōu)雅的輸出JSON數(shù)據(jù),格式化輸出JSON數(shù)據(jù)... ... 299478
Java 信任所有SSL證書,HTTPS請求拋錯,忽略證書請求完美解決 246598
Elasticsearch教程(一),全程直播(小白級別) 232033
談談斐訊路由器劫持,你用斐訊路由器,你需要知道的事情 227509
支付掃碼

所有贊助/開支都講公開明細,用于網(wǎng)站維護:贊助名單查看

查看我的收藏

正在加載... ...