zl程序教程

您现在的位置是:首页 >  其它

当前栏目

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

... Delphi MD5 加密算法
2023-09-27 14:24:59 时间
在Delphi自带的Indy控件中其实是提供了MD2,MD4,MD5对象的,我们可以直接使用它们来完成MD5的签名算法。而不需要再去找其它的DLL或是Pas了。在Uses单元中引用 IdHashMessageDigest 单元,再写如下代码即可以达到MD5的实现。示例代码 procedure TForm1.Button1Click(Sender: TObject);var  MyMD5: T
在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签名字符串。
为了防止我们的数据泄露,我们往往会对数据进行加密,特别是敏感数据,我们要求的安全性更高。下面将介绍几种常用的加密算法使用。这些算法的加密对象都是基于二进制数据,如果要加密字符串就使用统一编码(如:utf8)进行编码后加密。
相信很多奋斗在运维战线的小伙伴们经常会遇到版本升级之类的问题。笔者之前所在的公司每次进行版本发布的时候都会附带MD5校验哈希值,每次升级之前一般都要核对MD5哈希值的,刚刚开始的时候对Linux并不是非常熟悉,每次下载完升级包之后都会在Windows环境下利用Hash工具校验之后才上传到Linux服务器上进行版本升级操作。