Delphi计算MD5


本文整理自网络,侵删。

 
在密码学中,MD5(消息摘要算法5,消息摘要算法5)是一种128位密码减少算法,是当今使用最广泛的算法之一。

最常用的用途之一是检查文件是否尚未修改。

使用它的最好的例子之一是,当我们从互联网上下载文件时,分发者会给我们提供MD5哈希值,以便在下载后对其进行检查并确认其没有更改。

的MD5散列是128位长,但一般是在其32位的十六进制值读取。

Delphi中的MD5功能
Delphi不被豁免为一种编程语言,而是能够创建一个计算文件的MD5的函数。

要执行此功能,我们将需要三个单元,分别是IdHashMessageDigest, idHash和IdGlobal。

在这种情况下,我们执行两个类似的功能,一个功能以字符串形式计算MD5,另一个功能以文件形式计算MD5。

uses IdGlobal, IdHash, IdHashMessageDigest;
 
function getFileMd5HashString(const vFileName: string): string;
var
  vHashMD5: TIdHashMessageDigest5;
  vFile: TFileStream;
begin
  vFile := TFileStream.Create(vFileName, fmOpenRead OR fmShareDenyWrite);
  vHashMD5 := nil;
  try
    vHashMD5 := TIdHashMessageDigest5.Create;
    Result := IdGlobal.IndyLowerCase(vHashMD5.HashStreamAsHex(vFile));
  finally
    vHashMD5.Free;
  end;
end;
 
function getMd5HashString(const vValue: string): string;
var
  vHashMD5: TIdHashMessageDigest5;
begin
  vHashMD5 := nil;
  try
    vHashMD5 := TIdHashMessageDigest5.Create;
    Result := IdGlobal.IndyLowerCase(vHashMD5.HashStringAsHex(vValue));
  finally
    vHashMD5.Free;
  end;
end;
其使用形式如下:

procedure TForm1.Button1Click(Sender: TObject);
begin
  // Calcula el MD5 de una cadena
  showmessage(getMd5HashString('cadena de texto'));
 
  // Calcula el MD5 de un archivo
  showmessage(getFileMd5HashString('c:\file.xxx'));
end;

相关阅读 >>

Delphi开启和关闭windows xp 防火墙

使用indy解决base64回车换行问题

Delphi firedac在后台线程中从mssql server检索记录的方法

Delphi 如何在定义局部变量时赋初始值

Delphi 免杀下载者源代码

Delphi xe2 idhttp 获取utf-8编码中文网页

Delphi xe 安卓web开发 错误:net::err_cleartext_not_permitted

Delphi 字符串是否包含

Delphi 查找一个特定的exe是否在内存中运行

Delphi windows 编程[4] - 学习窗体生成的过程四

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...