本文整理自网络,侵删。
在密码学中,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 是否是闰年- isleapyear、isinleapyear
Delphi利用微软sapi实现语音控制(Delphi,tts,sr,灰色代码)_
Delphi isipadress 非正则表达式验证ip的方法
Delphi xe 利用fmx控件的makescreenshot过程实现wait效果
Delphi中多线程下使用使用 unidac+mssql 需要注意的问题
更多相关阅读请进入《Delphi》频道 >>