Delphi 自带MD5方法

在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签名字符串。

posted on 2013-08-10 11:56  smtpay  阅读(1138)  评论(0编辑  收藏  举报

导航