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

  

转载于:https://www.cnblogs.com/hnxxcxg/p/11079660.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle字符分隔函数(split)

为了让 PL/SQL 函数返回数据的多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成。REF CURSOR 的这种情况局限于可以从查询中选择的数据,而整个集合在可以返回前,必须进行具体化。Oracle 9i 通过引入的管道化表函数纠正了后一种情况。…

已成功拿下字节、腾讯、脉脉offer,吐血整理

为什么想跳槽? 简单说一下当时的状况,我在这家公司做了两年多,这两年多完成了一个大项目,作为开发的核心主力,开发压力很大,特别是项目上线前的几个月是非常辛苦,几乎每晚都要加班到12点以后&a…

复杂HTML解析

#再端一碗BeautifulSoup #获取《战争与和平》中的人物名字from urllib.request import urlopen from bs4 import BeautifulSouphtml urlopen("http://www.pythonscraping.com/pages/warandpeace.html") bsObj BeautifulSoup(html,html.parser)#namelist bsObj.fin…

java main方法里调用mapper

在main方法中调用mybatis的mapper,一次性执行导入数据功能package com.runxsoft.test;import com.runxsoft.iutils.common.utils.UserUtils; import com.runxsoft.superwe.base.SqlVo; import com.runxsoft.superwe.base.mapper.ProtogenesisMapper; import com.run…

已成功拿下字节、腾讯、脉脉offer,满满干货指导

开头 笼统来说,中年程序员容易被淘汰的原因其实不外乎三点。 1、输出能力已到顶点。这个人奋斗十来年了,依旧碌碌无为,很明显这人的天花板就这样了,说白了,天赋就这样。 2、适应能力越来越差。年纪大,有家…

ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段...

原文地址:ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段ServletRequest 基本概念 JavaWeb中的 "Request"对象 实际为 HttpServletRequest 或者 ServletRequest, 两者都为接口服务器接收请求…

c#扫描图片去黑边(扫描仪去黑边)

/// <summary> /// 自动去除图像扫描黑边 /// </summary> /// <param name"fileName"></param> public static void AutoCutBlackEdge(string fileName) { //打开图像 Bit…

已成功拿下字节、腾讯、脉脉offer,算法太TM重要了

一、背景介绍 从实用角度梳理一篇能够帮大家快速扫盲的CMake基础教程&#xff0c;也是对我目前负责项目的一次学习总结。既然选择从项目实用性考虑&#xff0c;下面的讲解内容可能并不一定完整&#xff0c;更多的是符合项目目前使用到的一些特性。 接下来正面回答这个问题&am…

SpringBoot2.0 Actuator 监控参数说明

主要内容更 监控参数说明 Maven坐标 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency><groupId>io.micrometer</groupId>&…

带你一步一步深入Handler源码,醍醐灌顶!

开头 最近有粉丝反应&#xff0c;不想做安卓了&#xff0c;有朋友转到前端了&#xff0c;安卓不行了&#xff0c;问我怎么办&#xff1f; 自从RN&#xff0c;Weex这种跨平台编程语言出来以后&#xff0c;安卓将死的言论总是不绝于耳。随着颇有摧枯拉朽之势Flutter的出现&…

Spring基于状态机squirrel-foundation简单使用

squirrel-foundation的一些使用方法在百度上资料还是比较少&#xff0c;我是根据以下三个大佬写的文章借鉴的&#xff0c;在这里记录一下。 1、squirrel-foundation-demo 2、Squirrel使用&#xff08;中文文档&#xff09; 3、squirrel-foundation状态机的使用细节 我在这里直接…

记得把每一次面试当做经验积累,深夜思考

开头 Android开发&#xff0c;假如开始没有任何的开发经验的话&#xff0c; 千万不要着急&#xff0c;不要想着在短时间内就把一个语言学习好&#xff0c; 因为你之前没有任何的学习经验&#xff0c; 在这个过程中需要有耐心地学习完JAVA的基础知识&#xff0c; 然后才开始踏上…

squirrel-foundation-demo

一个简单的squirrel-foundation-demo 利用状态机模拟一个订单的支付过程。 squirrel-foundation没有任何严重的依赖关系&#xff0c;因此基本上它应该是高度可嵌入的。squirrel-foundation没有整合spring框架&#xff0c;所以首先要用spring集成squirrel-foundation。spring集成…

MongoDB学习目录

MongoDB基础篇 MongoDB 之 $ 关键字 python操作MongoDB 转载于:https://www.cnblogs.com/yanzhi-1996/p/11095016.html

讲的真透彻!还有人不知道什么是AndroidX的吗?已拿offer入职

前言 春招已经接近尾声了&#xff0c;不知道各位小伙伴有没有收获自己心仪的offer呢。笔者疫情被裁后在家LeetCode狂刷了800多题&#xff0c;加之自己以为工作总结的知识、经验&#xff0c;系统化的整理了一下。在五一期间已经收获了字节的offer。废话不多说&#xff0c;下面是…

docker 启动的 jenkins 中调用宿主机docker进行build

前言 期初有这个需求感觉就跟套娃一样&#xff0c;你在docker 中调用docker&#xff0c;笑哭……这个也太逗了。 不过的确遇到了&#xff0c;因为jenkins 容器中没有docker &#xff0c;所以在编译 docker build 的时候 会出现 docker command 不存在。 好吧&#xff0c;解决他…

Codeforces 773D Perishable Roads 最短路 (看题解)

Perishable Roads 智商题&#xff0c; 不会啊。。 贴个官方题解 https://codeforces.com/blog/entry/51883 #include<bits/stdc.h> #define LL long long #define LD long double #define ull unsigned long long #define fi first #define se second #define mk make_p…

Rancher中的服务升级实验

创建一个空的应用myAPP&#xff0c;在myAPP 应用中&#xff0c;创建一个服务nginx-test&#xff0c;包含2个容器副本&#xff0c;使用nginx:1.13.0镜像。假设使用一段时期以后&#xff0c;nginx的版本升级到1.13.1了&#xff0c;如何将该服务的镜像版本升级到新的版本&#xff…

该如何高效实用Kotlin?看这一篇就够了!

前言 说起程序员人们的第一印象就是工资高、加班凶、话少钱多头发少。再加上现在科技互联网公司太吃香&#xff0c;bat、华为小米等公司程序员加班情况被广泛传播&#xff0c;程序员用生命在敲代码的印象刻在了很多人的心里。 与其它行业一样&#xff0c;凡是有高级和普通&…

apply()与call()

JavaScript中的每一个Function对象都有一个apply()方法和一个call()方法&#xff0c;它们的语法分别为&#xff1a; /*apply()方法*/ function.apply(thisObj[, argArray])/*call()方法*/ function.call(thisObj[, arg1[, arg2[, [,...argN]]]]); 它们各自的定义&#xff1a; a…