国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

摘要算法:MD2

2022-10-15 02:06 作者:CSDN首席噴子  | 我要投稿

MD2是MD系列摘要算法的鼻祖,能夠接受任意長度的輸入,得到針對輸入特定的16字節(jié)(128位)輸出。輸入數(shù)據(jù)只要變化一位,輸出就會(huì)相應(yīng)變化,因此可以用于驗(yàn)證數(shù)據(jù)。盡管現(xiàn)在已經(jīng)有了更安全的摘要算法,如SHA3,但其和MD2的基本結(jié)構(gòu)都是一樣的。其計(jì)算方法為:

(1)將數(shù)據(jù)填充為16的整倍數(shù),填充值是缺失的字節(jié)數(shù)。比如“a”,其后面需要填充15個(gè)字節(jié),這15個(gè)字節(jié)的值都是0x0f。此時(shí)字節(jié)總數(shù)為N,記填充后數(shù)據(jù)為M。

(2)為這N個(gè)字節(jié)添加校驗(yàn)和。MD2根據(jù)圓周率構(gòu)建了一個(gè)256位偽隨機(jī)數(shù)組,稱為“S盒”。通過S盒計(jì)算偽碼如下:

checksum[16];

For i = 0 to 15 do

????checksum[i] = 0;

End; ?// 初始化

L = 0;

For i = 0 to (N / 16 - 1) do

????For j = 0 to 15 do

????????c_tmp = M[i * 16 + j];

????????checksum[j] = checksum[j] ?^ S[c_tmp ^ L];

????????L = checksum[j];

????End; // j

End; // I

然后把這16字節(jié)的校驗(yàn)和放在填充后的數(shù)據(jù)后面,記為M`,此時(shí)總長度為N`。

(3)初始化緩存。創(chuàng)建一個(gè)48位的輸出緩存X,并清零初始化。

(4)處理數(shù)據(jù)。

For i = 0 to (N` / 16 – 1) do

????For j = 0 to 15 do

????????X[16 + j] = M`[i * 16 + j];

????????X[32 + j] = X[16 + j] ^ X[j];

????End;

????t = 0;

????For j = 0 to 17 do

????????For k = 0 to 47 do

????????????t = X[k] = X[k] ^ S[t];

????????End;

????t = (t + j) % 256;

????End;

End;

(5)最后把前16字節(jié)取出,就是MD2值。

一個(gè)C語言實(shí)例如下:


摘要算法:MD2的評論 (共 條)

分享到微博請遵守國家法律
博野县| 炎陵县| 泾川县| 垫江县| 饶平县| 左权县| 临西县| 天峻县| 开阳县| 江门市| 文登市| 宁都县| 合川市| 鄢陵县| 嫩江县| 尉犁县| 蓬安县| 三明市| 江城| 潮安县| 彭阳县| 普宁市| 马公市| 兴山县| 微博| 南阳市| 鄂温| 定南县| 皮山县| 莱阳市| 临潭县| 明光市| 迭部县| 延长县| 新疆| 西丰县| 营山县| 珠海市| 清涧县| 高平市| 扬中市|