频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

和md5.asp结果一样的Delphi加密代码

来源:CSDN 作者:ScriptBaby 出处:巧巧读书 2005-11-09 进入讨论组
下一页 1 2 3 4 5 6 

  实际上这种办法是有缺陷的,但是需要的就是这个缺陷(没有办法)

  今天我有提过md5.asp因为设计上的缺陷,在对双字节字符(比方说中文)进行加密的时候会和标准的md5算法(.Net /IndyHashMessageDigest5 / md5.pas,这三者计算结果相同,同为以字节为单位计算岀的结果)结果有出入。

  其原因在于md5.asp使用mid函数,取出的是“字符”,而正确的做法应该是取出字节,可是论坛数据库(比方说dvbbs7)中的数据已经是md5.asp的加密结果,所以我们只能将错就错,为我们的程序重写一个和md5.asp一样的加密过程
  >>>> 被广泛使用的MD5.asp中似乎存在缺陷

  我今天总算是用Delphi写出来了
虽然不知道asc函数得到的结果是否正确代码——我的目标是和md5.asp结果一样,现在缺的不就是这个有缺陷的程序吗?


unit AMD5;

interface

        ////////////////////////////////////////////
        //  文件名 : AMD5.pas                     //
        //   功能  : 与md5.asp计算结果相同        //
        //   作者  : 由ScriptBaby改编自md5.asp    //
        // 完成时间: 2004-07-21                   //
        ////////////////////////////////////////////

              //请转载者保留以上信息,谢谢//

uses
  SysUtils;

type
  arrlongword = array of longword;

type
  sMD5 = class
    class function RotateLeft(const lValue, Bits: longword): longword;
    class function MD5(const sMessage: string; const sType: boolean = false): string;
    class function ConvToWord(const sMessage: string): arrlongword; overload;
    class function ConvToWord(const sMessage: WideString): arrlongword; overload;
    class function WordToHex(const lValue: longword): string;
  end;

implementation

 





收藏地址:http://www.qqread.com/delphi/e620657040.html 更多文章 更多内容请看加密与解密技术常用软件加密宝典专题,或进入讨论组讨论。
下一页 1 2 3 4 5 6 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章