最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
砚山县| 龙井市| 聂拉木县| 蓬安县| 苍南县| 潞城市| 湄潭县| 湖南省| 巢湖市| 会昌县| 嘉善县| 杂多县| 藁城市| 张北县| 左云县| 井冈山市| 泗洪县| 克什克腾旗| 磐安县| 长汀县| 琼结县| 巧家县| 阿坝县| 建德市| 揭西县| 丽江市| 乌兰县| 琼结县| 沽源县| 密山市| 淳化县| 莱阳市| 桦甸市| 隆安县| 安溪县| 称多县| 会昌县| 化州市| 墨江| 白城市| 威海市|