文件CRC和MD5校驗


文件CRC和MD5校驗

CRC和MD5用於文件和數據的傳輸校驗,以確認是否接收成功。

unit CRCMD5;

interface
{ 獲取文件CRC校驗碼 }
function GetFileCRC(const iFileName: string): String;
{ 獲取字符串CRC校驗碼 }
function GetStringCRC(const Str: string): Cardinal;
{ 取文件MD5碼 }
function GetFileMD5(const iFileName: string): String;

implementation

uses 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.

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM