CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

那为高手可以把Delphi中实现MD5算法源代码给我好吗?高手酬谢,不够再给~!

楼主bxh2dai(希望明天会有些改变)2003-09-01 17:39:40 在 Delphi / VCL组件开发及应用 提问

MD5算法,就是所说的散列算法,是一种不可列的加密算法,我希望可以给我完整的代码,谢谢~!! 问题点数:100、回复次数:7Top

1 楼bxh2dai(希望明天会有些改变)回复于 2003-09-01 18:06:16 得分 0

居然没人来啊,哈哈  
  算了,我自己顶一下~!Top

2 楼crossbow(【以无形为形】)回复于 2003-09-01 18:10:07 得分 0

太长了,不好发。http://www.playicq.com上面有。  
   
  或者我给你发。我还有SHA1的。Top

3 楼crossbow(【以无形为形】)回复于 2003-09-01 18:10:33 得分 20

你的邮箱,老兄!Top

4 楼bxh2dai(希望明天会有些改变)回复于 2003-09-01 18:38:27 得分 0

好的,我的是2000happy_love@21cn.com,我自己也找到一个了,但是还是感谢你发给我,如果收到马上买单,谢谢~!Top

5 楼bxh2dai(希望明天会有些改变)回复于 2003-09-01 18:46:13 得分 0

好的,我的是2000happy_love@21cn.com,我现在也找了一个了,但还是谢谢你,请发给我吧,我可要好好研究哦,如我收到你的邮件,我马上买单,谢谢~!等你的邮件,朋友~!Top

6 楼bxh2dai(希望明天会有些改变)回复于 2003-09-01 18:50:01 得分 0

crossbow(La   Vida   Es   Amor),在吗?  
  Top

7 楼wwwppp(我爱编程)回复于 2003-09-01 21:11:50 得分 80

====================================================    
  参数说明:    
  AA,BB,CC,DD是摘要信息,一般初始化为    
  AA   :=   $67452301;    
  BB   :=   $EFCDAB89;    
  CC   :=   $98BADCFE;    
  DD   :=   $10325476;    
  MSGs是一个长64的LongWord数组,保存的就是要摘要的信息    
  ====================================================    
  procedure   TMainForm.MD5(var   AA,   BB,   CC,   DD:   LongWord;   MSGs:   array   of   LongWord);    
  var    
      A,   B,   C,   D:   LongWord;    
      T:   array[1..64]   of   LongWord;    
      i:   integer;    
   
  //没有循环左移的位运算,自己写一个    
      function   ROL(r:   LongWord;   bit:   byte):   LongWord;    
      var    
          ii:   byte;    
      begin    
          for   ii:=1   to   bit   do    
              if   r   and   $80000000   =   $80000000   then    
                  r   :=   (r   shl   1)   or   $01    
              else    
                  r   :=   (r   shl   1);    
          Result   :=   r;    
      end;    
   
  //四轮运算中的函数定义,也可以自行定义的    
      procedure   FF(var   a:   LongWord;   b,   c,   d:   LongWord;   k,   s,   i:   byte);    
      begin    
          a   :=   b   +   ROL((a   +   ((b   and   c)   or   (not   b   and   d))   +   MSGs[k]   +   T[i]),   s);    
      end;    
      procedure   GG(var   a:   LongWord;   b,   c,   d:   LongWord;   k,   s,   i:   byte);    
      begin    
          a   :=   b   +   ROL((a   +   ((b   and   d)   or   (c   and   not   d))   +   MSGs[k]   +   T[i]),   s);    
      end;    
      procedure   HH(var   a:   LongWord;   b,   c,   d:   LongWord;   k,   s,   i:   byte);    
      begin    
          a   :=   b   +   ROL((a   +   (b   xor   c   xor   d)   +   MSGs[k]   +   T[i]),   s);    
      end;    
      procedure   II(var   a:   LongWord;   b,   c,   d:   LongWord;   k,   s,   i:   byte);    
      begin    
          a   :=   b   +   ROL((a   +   (c   xor   (b   or   not   d))   +   MSGs[k]   +   T[i]),   s);    
      end;    
       
  begin    
      fillchar(T,   sizeof(T),   0);    
   
  //常数数组的初始化,通常是这种形式,当然可以自己做手脚的    
      for   i:=1   to   64   do    
          T[i]   :=   Trunc(4294967296*abs(sin(i)));    
   
      A   :=   AA;   B   :=   BB;   C   :=   CC;   D   :=   DD;    
  //第一轮    
      FF(A,   B,   C,   D,   0,   7,   1);   FF(D,   A,   B,   C,   1,   12,   2);   FF(C,   D,   A,   B,   2,   17,   3);   FF(B,   C,   D,   A,   3,   22,   4);    
      FF(A,   B,   C,   D,   4,   7,   5);   FF(D,   A,   B,   C,   5,   12,   6);   FF(C,   D,   A,   B,   6,   17,   7);   FF(B,   C,   D,   A,   7,   22,   8);    
      FF(A,   B,   C,   D,   8,   7,   9);   FF(D,   A,   B,   C,   9,   12,10);   FF(C,   D,   A,   B,   10,17,11);   FF(B,   C,   D,   A,   11,22,12);    
      FF(A,   B,   C,   D,   12,7,13);   FF(D,   A,   B,   C,   13,12,14);   FF(C,   D,   A,   B,   14,17,15);   FF(B,   C,   D,   A,   15,22,16);    
   
  //第二轮    
      GG(A,   B,   C,   D,   1,   5,17);   GG(D,   A,   B,   C,   6,     9,18);   GG(C,   D,   A,   B,   11,14,19);   GG(B,   C,   D,   A,   0,   20,20);    
      GG(A,   B,   C,   D,   5,   5,21);   GG(D,   A,   B,   C,   10,   9,22);   GG(C,   D,   A,   B,   15,14,23);   GG(B,   C,   D,   A,   4,   20,24);    
      GG(A,   B,   C,   D,   9,   5,25);   GG(D,   A,   B,   C,   14,   9,26);   GG(C,   D,   A,   B,   3,   14,27);   GG(B,   C,   D,   A,   8,   20,28);    
      GG(A,   B,   C,   D,   13,5,29);   GG(D,   A,   B,   C,   2,     9,30);   GG(C,   D,   A,   B,   7,   14,31);   GG(B,   C,   D,   A,   12,20,32);    
   
  //第三轮    
      HH(A,   B,   C,   D,   5,   4,33);   HH(D,   A,   B,   C,   8,   11,34);   HH(C,   D,   A,   B,   11,16,35);   HH(B,   C,   D,   A,   14,23,36);    
      HH(A,   B,   C,   D,   1,   4,37);   HH(D,   A,   B,   C,   4,   11,38);   HH(C,   D,   A,   B,   7,   16,39);   HH(B,   C,   D,   A,   10,23,40);    
      HH(A,   B,   C,   D,   13,4,41);   HH(D,   A,   B,   C,   0,   11,42);   HH(C,   D,   A,   B,   3,   16,43);   HH(B,   C,   D,   A,   6,   23,44);    
      HH(A,   B,   C,   D,   9,   4,45);   HH(D,   A,   B,   C,   12,11,46);   HH(C,   D,   A,   B,   15,16,47);   HH(B,   C,   D,   A,   2,   23,48);    
   
  //第四轮    
      II(A,   B,   C,   D,   0,   6,49);   II(D,   A,   B,   C,   7,   10,50);   II(C,   D,   A,   B,   14,15,51);   II(B,   C,   D,   A,   5,   21,52);    
      II(A,   B,   C,   D,   12,6,53);   II(D,   A,   B,   C,   3,   10,54);   II(C,   D,   A,   B,   10,15,55);   II(B,   C,   D,   A,   1,   21,56);    
      II(A,   B,   C,   D,   8,   6,57);   II(D,   A,   B,   C,   15,10,58);   II(C,   D,   A,   B,   6,   15,59);   II(B,   C,   D,   A,   13,21,60);    
      II(A,   B,   C,   D,   4,   6,61);   II(D,   A,   B,   C,   11,10,62);   II(C,   D,   A,   B,   2,   15,63);   II(B,   C,   D,   A,   9,   21,64);    
   
      AA   :=   A   +   AA;    
      BB   :=   B   +   BB;    
      CC   :=   C   +   CC;    
      DD   :=   D   +   DD;    
  end;    
  Top

相关问题

  • 哪位有没有经典加密算法(DES等)的delphi源代码?
  • 请问谁有关于哈希散列表的存储查找算法源代码啊(delphi的)
  • 那位有用delphi开发的进销存管理系统的源代码借我参考一下。高分酬谢!!!
  • 哪位大兄弟有MD5 hash算法的VC6源代码?
  • 那位大哥有数据挖掘算法的源代码(c++)??
  • 谁有rsa算法的源代码,急,急,急...
  • 100分求c++画扇形的算法或源代码
  • 300分求两道算法题的源代码
  • 加密算法源代码(谢谢大家帮忙)
  • 求PHP的加密算法,最好有源代码!

关键词

  • 算法
  • longword
  • md5
  • 谢谢
  • aa
  • bb
  • dd
  • cc
  • msgs
  • procedure

得分解答快速导航

  • 帖主:bxh2dai
  • crossbow
  • wwwppp

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo