文件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.

  

文件CRC和MD5校验的更多相关文章

  1. 文件夹进行MD5校验的实现算法

    每份相同数据(文件夹)都可以生成一份唯一的md5校验文件,我们可以通过直接校验整个数据文件夹的方法来确定数据是否有误. 1.针对整个文件夹生成md5校验文件方法: 以data文件夹为例,我们需要得到d ...

  2. Java 读取网络资源文件 获取文件大小 MD5校验值

    Java 读取网络资源文件 获取文件大小 MD5校验值 封装一个文件操作工具类: package c; import java.io.*; import java.net.HttpURLConnect ...

  3. 获取文件CRC和MD5

    unit untCRCMD5; interface { 获取文件CRC校验码 } function GetFileCRC(const iFileName: string): String; { 获取字 ...

  4. 三、Socket之UDP异步传输文件-多文件传输和文件MD5校验

    本文接着上一篇文章二.Socket之UDP异步传输文件,在上一篇文章的基础上实现多文件的传输和文件传输完成后进行完整性校验. 要实现多文件的传输,必须要对文(2)中发送文件的数据格式进行改进,必须加入 ...

  5. MD5校验

    好久没有写随笔了,正好这两天可以休整一下,借此机会总结下最近使用python的小体会. 个人体会文件校验在下载文件时使用较多,在linux下最简单的实现方式就是: 1 $ md5sum filenam ...

  6. C# 获取文件MD5校验码

    using System; using System.IO; using System.Security.Cryptography; using System.Text; public class M ...

  7. Linux下校验下载文件的完整性(MD5,SHA1,PGP)

    查看: Linux下校验下载文件的完整性(MD5,SHA1,PGP) http://blog.useasp.net/archive/2014/03/29/use-md5-sha1-or-pgp-to- ...

  8. Java 获取 文件md5校验码

    讯雷下载的核心思想是校验文件的md5值,两个文件若md5相同则为同一文件. 当得到用户下载某个文件的请求后它根据数据库中保留的文件md5比对出拥有此文件的url, 将用户请求挂接到此url上并仿造一个 ...

  9. Linux中文件MD5校验

    md5sum命令用于生成文件的md5数字摘要,并可以验证文件内容是否发生了改变,间接地还可以检验两个文件内容是否完全相同.因为md5sum是读取文件内容来计算校验码的,因此只能验证文件内容,而无法验证 ...

随机推荐

  1. MySQL基础篇

    数据库基础知识 以MySQL为基础 数据库事务 :数据库中一组原子性的SQL操作,彼此状态一致.具有ACID特性. 事务 ACID 特性: 原子性:数据库事务是一个整体,其中的SQL操作要么全部提交成 ...

  2. laravel管理模型插入

    post控制器public function comment(Post $post,Request $request){ try{ if(empty($request->content)){ E ...

  3. Shell 脚本操作数据库实战

    安装mariadb 数据库  (默认没有密码,直接mysql即可进入数据库管理控制台) yum install mariadb mariadb-server mariadb-libs -y syste ...

  4. python urllib应用

    urlopen 爬取网页 爬取网页 read() 读取内容 read() , readline() ,readlines() , fileno() , close() :这些方法的使用方式与文件对象完 ...

  5. dubbo API的使用方式

    本文使用maven方式 1:pom文件 <dependencies> <!-- 引入spring的jar --> <dependency> <groupId& ...

  6. CentOS7安装CDH 第九章:CDH中安装Kafka

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

  7. LightOJ-1020-A Childhood Game(博弈)

    链接: https://vjudge.net/problem/LightOJ-1020 题意: Alice and Bob are playing a game with marbles; you m ...

  8. HDU-2082-找单词(母函数)

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=2082 题意: 假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1, ...

  9. HTML 006 文本格式化(了解)

    HTML 文本格式化 HTML 文本格式化 加粗文本 斜体文本 电脑自动输出 这是 下标 和 上标 尝试一下 » HTML 格式化标签 HTML 使用标签 <b>("bold&q ...

  10. idea创建springmvc项目创部署成功,但访问controller层报错404

    这个问题网上有很多解决问题,检查配置文件是否正确?controller注解是否扫描?项目启动是否成功等等. 访问报错404,而且后台也没错误,归根结底还是访问路径错了. 1.如图,idea配置tomc ...