文件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;implementationuses Classes, IdHashMessageDigest, IdHashCRC;{ 獲取文件CRC校驗碼 }
function GetFileCRC(const iFileName: string): String;
varMemSteam: TMemoryStream;MyCRC : TIdHashCRC32;
beginMemSteam := TMemoryStream.Create;MemSteam.LoadFromFile(iFileName);MyCRC := TIdHashCRC32.Create;Result := MyCRC.HashStreamAsHex(MemSteam);MyCRC.Free;MemSteam.Free;
end;
{ 獲取字符串CRC校驗碼 }
function GetStringCRC(const Str: string): Cardinal;
varMyCRC: TIdHashCRC32;
beginMyCRC := TIdHashCRC32.Create;Result := MyCRC.HashValue(Str);MyCRC.Free;
end;
{ 取文件MD5碼 }
function GetFileMD5(const iFileName: string): String;
varMemSteam: TMemoryStream;MyMD5 : TIdHashMessageDigest5;
beginMemSteam := TMemoryStream.Create;MemSteam.LoadFromFile(iFileName);MyMD5 := TIdHashMessageDigest5.Create;Result := MyMD5.HashStreamAsHex(MemSteam);MyMD5.Free;MemSteam.Free;
end;
end.