Delphi6-xe5 中的MD5实现方法
来源:互联网 发布:月子中心数据报告 编辑:程序博客网 时间:2024/05/11 16:41
在Delphi自带的Indy控件中其实是提供了MD2,MD4,MD5对象的,我们可以直接使用它们来完成MD5的签名算法。而不需要再去找其它的DLL或是Pas了。
在Uses单元中引用 IdHashMessageDigest,IdGlobal, IdHash 单元,再写如下代码即可以达到MD5的实现。
示例代码
说明:
MyMD5.HashValue 函数中可以是一个字符串或是一个流对象,它返回的结果类型为 T4x4LongWordRecord 的MD5签名后结果
在Uses单元中引用 IdHashMessageDigest,IdGlobal, IdHash 单元,再写如下代码即可以达到MD5的实现。
示例代码
procedure TForm1.Button1Click(Sender: TObject);var MyMD5: TIdHashMessageDigest5; Digest: T4x4LongWordRecord;begin MyMD5 := TIdHashMessageDigest5.Create; Digest := MyMD5.HashValue(''); ShowMessage('32: ' + MyMD5.AsHex(Digest)); //显示32个字符长度的MD5签名结果 ShowMessage('16: ' + Copy(MyMD5.AsHex(Digest), 9, 16)); //显示16个字符长度的MD5签名结果end;
说明:
在Delphi自带的Indy控件中其实是提供了MD2,MD4,MD5对象的,我们可以直接使用它们来完成MD5的签名算法。而不需要再去找其它的DLL或是Pas了。 在Uses单元中引用 IdHashMessageDigest,IdGlobal, IdHash 单元,再写如下代码即可以达到MD5的实现。 示例代码 procedure TForm1.Button1Click(Sender: TObject); var MyMD5: TIdHashMessageDigest5; Digest: T4x4LongWordRecord; begin MyMD5 := TIdHashMessageDigest5.Create; Digest := MyMD5.HashValue(''); ShowMessage('32: ' + MyMD5.AsHex(Digest)); //显示32个字符长度的MD5签名结果 ShowMessage('16: ' + Copy(MyMD5.AsHex(Digest), 9, 16)); //显示16个字符长度的MD5签名结果 end; 说明: MyMD5.HashValue 函数中可以是一个字符串或是一个流对象,它返回的结果类型为 T4x4LongWordRecord 的MD5签名后结果 MyMD5.AsHex 函数是将T4x4LongWordRecord的Md5签名转换成为十六进制的MD5签名字符串。-----------------------------------------以上的方法适合Indy9---------------------------------------------以下为Indy10的用法用delphi2009或delphi2010时以上就会报错了.typeTMD5 = class(TIdHashMessageDigest5);function StrToMD5(S: String): String; overload;function StrToMD5(S: String; L: integer): String; overload;implementationfunction StrToMD5(S: String): String;varMd5Encode: TMD5;beginMd5Encode:= TMD5.Create;try //Result := Md5Encode.AsHex(Md5Encode.HashValue(S)); // Indy9的写法 Result := Md5Encode.HashStringAsHex(S); // Indy10中可以直接HashStringAsHexfinally Md5Encode.Free;end;end;function StrToMD5(S: String; L: integer): String;beginResult := Copy(StrToMD5(S), 5, L);end;
- Delphi6-xe5 中的MD5实现方法
- Delphi6-xe5 中的MD5实现方法
- Delphi6-xe5 中的MD5实现方法
- JavaScript中的Md5加密方法的实现
- SQL Server中的MD5实现方法
- Delphi 中的MD5实现方法(转)
- Delphi6实现WebService
- j2me MD5实现方法
- delphi6
- iOS中的MD5加密方法
- C#中的MD5实现函数
- MD5在Java中的实现
- MD5思想及实现方法
- winform md5加密实现方法
- MD5实现密码加密方法
- Delphi XE5中的新增内容
- Delphi 中的MD5实现方法及delphi2009和delphi2010中用法
- delphi6中安装indy9的方法
- 在Java中调用Python
- 细水长流 打破地方特色餐饮店推广运营的坚冰
- 在O(1)时间删除链表结点
- UVA 10321 Polygon Intersection
- 为什么电脑运行会产生热量,可以设计不产生热量的计算机吗?
- Delphi6-xe5 中的MD5实现方法
- opensuse after.local不好使
- python vs jython
- 对OutputStream类的flush()方法的误解
- Android中Bitmap,byte[],Drawable相互转化
- 获取带复选框的easyui表格选中的行数据
- Delphi 自带的 Base64 编解码函数
- java字节流字符流
- 英语单词积累8.10