下载此文档

MD5-加密算法以及原理-delphi版.docx


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
、补位二、补数据长度三、初始化MD5参数四、处理位操作函数五、主要变换过程六、输出结果补位:MD5算法先对输入的数据进行补位,使得数据位长度LEN对512求余的结果是448。即数据扩展至K*512+448位。即K*64+56个字节,K为整数。具体补位操作:补一个1,然后补0至满足上述要求。补数据长度:用一个64位的数字表示数据的原始长度B,把B用两个32位数表示。这时,数据就被填补成长度为512位的倍数。初始化MD5参数:四个32位整数(A,B,C,D)用来计算信息摘要,初始化使用的是十六进制表示的数字A=0X01234567B=0X89abcdefC=0Xfedcba98D=0X76543210处理位操作函数:X,Y,Z为32位整数。F(X,Y,Z)=X&Y|NOT(X)&ZG(X,Y,Z)=X&Z|Y?(Z)H(X,Y,Z)=XxorYxorZI(X,Y,Z)=Yxor(X|not(Z))主要变换过程:使用常数组T[1...64],T[i]为32位整数用16进制表示,数据用16个32位的整数数组M[]表示。具体过程如下:Fori=0toN/16-1doForj=0to15doSetX[j]toM[i*16+j].end/结束对J的循环AA=ABB=BCC=CDD=D[ABCD071][DABC1122][CDAB2173][BCDA3224][ABCD475][DABC5126][CDAB6177][BCDA7228][ABCD879][DABC91210][CDAB101711][BCDA112212][ABCD12713][DABC131214][CDAB141715][BCDA152216][ABCD1517][DABC6918][CDAB111419][BCDA02020][ABCD5521][DABC10922][CDAB151423][BCDA42024][ABCD9525][DABC14926][CDAB31427][BCDA82028][ABCD13529][DABC2930][CDAB71431][BCDA122032][ABCD5433][DABC81134][CDAB111635][BCDA142336][ABCD1437][DABC41138][CDAB71639][BCDA102340][ABCD13441][DABC01142][CDAB31643][BCDA62344][ABCD9445][DABC121146][CDAB151647][BCDA22348][ABCD0649][DABC71050][CDAB141551][BCDA52152][ABCD12653][DABC31054][CDAB101555][BCDA12156][ABCD8657][DABC151058][CDAB61559][BCDA132160][ABCD4661][DABC111062][CDAB21563][BCDA92164]A=A+AAB=B+BBC=D=D+DDend输出结果。  :  {unitUnit2;interfaceimplementationend. 具体使用方法如下,另外还附有源代码:MD5加密算法(DELPHI)}unitUnit2;//-----------------------------------------------------------------------------------------------INTERFACE//-----------------------------------------------------------------------------------------------usesWindows;typeMD5Count=array[0..1]ofDWORD;MD5State=array[0..3]ofDWORD;MD5Block=array[0..15]ofDWORD;MD5CBits=array[0..7]ofbyte;MD5Digest=array[0..15]ofbyte;MD5Buffer=array[0..63]ofbyte;MD5Context=recordState:MD5State;Count:MD5Count;Buffer:MD5Buffer;end;procedureMD5Init(varContext:MD5Context);procedureMD5Update(varContext:MD5Context;Input:pChar;Length:longword);procedureMD5Final(varContext:MD5Context;varDigest:MD5Digest

MD5-加密算法以及原理-delphi版 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小23 KB
  • 时间2020-04-23