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;