获取文件CRC和MD5

来源:互联网 发布:cnzz 阿里云备案 编辑:程序博客网 时间:2024/03/29 01:45
unit untCRCMD5;interface{ 获取文件CRC校验码 }function GetFileCRC(const iFileName: string): String;{ 获取字符串CRC校验码 }function GetStringCRC(const Str: string): Cardinal;{ 取文件MD5码 }function GetFileMD5(const iFileName: string): String;implementationuses Classes, IdHashMessageDigest, IdHashCRC;{ 获取文件CRC校验码 }function GetFileCRC(const iFileName: string): String;var  MemSteam: TMemoryStream;  MyCRC   : TIdHashCRC32;begin  MemSteam := TMemoryStream.Create;  MemSteam.LoadFromFile(iFileName);  MyCRC  := TIdHashCRC32.Create;  Result := MyCRC.HashStreamAsHex(MemSteam);  MyCRC.Free;  MemSteam.Free;end;{ 获取字符串CRC校验码 }function GetStringCRC(const Str: string): Cardinal;var  MyCRC: TIdHashCRC32;begin  MyCRC  := TIdHashCRC32.Create;  Result := MyCRC.HashValue(Str);  MyCRC.Free;end;{ 取文件MD5码 }function GetFileMD5(const iFileName: string): String;var  MemSteam: TMemoryStream;  MyMD5   : TIdHashMessageDigest5;begin  MemSteam := TMemoryStream.Create;  MemSteam.LoadFromFile(iFileName);  MyMD5  := TIdHashMessageDigest5.Create;  Result := MyMD5.HashStreamAsHex(MemSteam);  MyMD5.Free;  MemSteam.Free;end;end.

Delphi2010/XE都可编译通过。简单明了。
原创粉丝点击