zoukankan      html  css  js  c++  java
  • 文件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.
    

      

  • 相关阅读:
    [译]ABP vNext微服务演示,项目状态和路线图
    [译]初试C# 8.0
    [译]ABP vNext介绍
    ViewModel从未如此清爽
    python 函数基础及装饰器
    python 基础一
    scrapy基础二
    scrapy 基础
    python 基础技巧
    pandas 基础
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/11079660.html
Copyright © 2011-2022 走看看