`
xzknet
  • 浏览: 300954 次
  • 性别: Icon_minigender_1
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论

Delphi中的加密算法(MD5,MD4,MD3...)

阅读更多
在Delphi自带的Indy控件中其实是提供了MD2,MD4,MD5对象的,我们可以直接使用它们来完成MD5的签名算法。而不需要再去找其它的DLL或是Pas了。
在Uses单元中引用 IdHashMessageDigest 单元,再写如下代码即可以达到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签名字符串。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics