admin的md5:关于 MD5 的一些知识来源: 发布时间:星期四, 2009年2月12日 浏览:174次 评论:0
md5 ![]() ![]() ![]() ![]() ![]() message-digest泛指字节串(message) ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() md5将任意长度 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() md5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() md5还广泛用于加密和解密技术上 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 即使假设密码 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 在很多电子商务和社区应用中 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 有兴趣 ![]() ![]() ![]() http://www.ietf.org/rfc/rfc1321.txt //------------------------------------------------------------------ md5算法介绍说明 ![]() 2、补数据长度 3、 ![]() 4、处理位操作 ![]() 5、主要变换过程 6、输出结果 补位: md5算法先对输入 ![]() ![]() ![]() ![]() ![]() ![]() ![]() 具体补位操作:补 ![]() ![]() ![]() 补数据长度: 用 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 4个32位整数 (a,b,c,d) 用来计算信息摘要 ![]() ![]() ![]() ![]() a=0x01234567 b=0x89abcdef c=0xfedcba98 d=0x76543210 处理位操作 ![]() x ![]() ![]() ![]() f(x,y,z) = x&y|not(x)&z g(x,y,z) = x&z|y?(z) h(x,y,z) = x xor y xor z i(x,y,z) = y xor (x|not(z)) 主要变换过程: 使用常 ![]() ![]() ![]() ![]() ![]() ![]() ![]() 具体过程如下: /* 处理数据原文 */ for i = 0 to n/16-1 do /*每 ![]() ![]() ![]() ![]() for j = 0 to 15 do ![]() end /结束对j ![]() /* save a as aa, b as bb, c as cc, and d as dd.*/ aa = a bb = b cc = c dd = d /* 第1轮*/ /* 以 [abcd k s i]表示如下操作 a = b + ((a + f(b,c,d) + x[k] + t[i]) <<< s). */ /* do the following 16 operations. */ [abcd 0 7 1] [dabc 1 12 2] [cdab 2 17 3] [bcda 322 4] [abcd 4 7 5] [dabc 5 12 6] [cdab 6 17 7] [bcda 722 8] [abcd 8 7 9] [dabc 9 12 10] [cdab 10 17 11] [bcda11 22 12] [abcd 12 7 13] [dabc 13 12 14] [cdab 14 17 15] [bcda 15 22 16] /* 第2轮* */ /* 以 [abcd k s i]表示如下操作 a = b + ((a + g(b,c,d) + x[k] + t[i]) <<< s). */ /* do the following 16 operations. */ [abcd 1 5 17] [dabc 6 9 18] [cdab 11 14 19] [bcda0 20 20] [abcd 5 5 21] [dabc 10 9 22] [cdab 15 14 23] [bcda 4 20 24] [abcd 9 5 25] [dabc 14 9 26] [cdab 3 14 27] [bcda8 20 28] [abcd 13 5 29] [dabc 2 9 30] [cdab 7 14 31] [bcda12 20 32] /* 第3轮*/ /* 以 [abcd k s i]表示如下操作 a = b + ((a + h(b,c,d) + x[k] + t[i]) <<< s). */ /* do the following 16 operations. */ [abcd 5 4 33] [dabc 8 11 34] [cdab 11 16 35] [bcda 14 23 36] [abcd 1 4 37] [dabc 4 11 38] [cdab 7 16 39] [bcda10 23 40] [abcd 13 4 41] [dabc 0 11 42] [cdab 3 16 43] [bcda 6 23 44] [abcd 9 4 45] [dabc 12 11 46] [cdab 15 16 47] [bcda 2 23 48] /* 第4轮*/ /* 以 [abcd k s i]表示如下操作 a = b + ((a + i(b,c,d) + x[k] + t[i]) <<< s). */ /* do the following 16 operations. */ [abcd 0 6 49] [dabc 7 10 50] [cdab 14 15 51] [bcda 5 21 52] [abcd 12 6 53] [dabc 3 10 54] [cdab 10 15 55] [bcda 1 21 56] [abcd 8 6 57] [dabc 15 10 58] [cdab 6 15 59] [bcda 13 21 60] [abcd 4 6 61] [dabc 11 10 62] [cdab 2 15 63] [bcda 9 21 64] /* 然后进行如下操作 */ a = a + aa b = b + bb c = c + cc d = d + dd end /* 结束对i ![]() 输出结果 ![]() 0
相关文章读者评论发表评论 |