获取文件CRC和MD5
unit untCRCMD5; 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的更多相关文章
- 文件CRC和MD5校验
文件CRC和MD5校验 CRC和MD5用于文件和数据的传输校验,以确认是否接收成功. unit CRCMD5; interface { 获取文件CRC校验码 } function GetFileCRC ...
- C#获取文件/字节数组MD5值方法
找了很多,就这个管用,有时间好好研究一番 public static string GetMD5Hash(string fileName) { try { FileStream file = new ...
- C#获取文件MD5字符串
备注 哈希函数将任意长度的二进制字符串映射为固定长度的小型二进制字符串.加密哈希函数有这样一个属性:在计算不大可能找到散列为相同的值的两个不同的输入:也就是说,两组数据的哈希值仅在对应的数据也匹配时才 ...
- 就这样获取文件的MD5和大小
纠结真蛋疼 判断一件事值不值得去做的唯一标准是这件事是不是令我纠结.如果纠结了,就不去做了!但是,人总要活着,又能怎样.谁说男人就没有那么几天...... 从极速妙传说起 在现在各大厂商都推出免费云盘 ...
- QT 获取文件MD5值
/* 方法1 */ QFile theFile(fileNamePath); theFile.open(QIODevice::ReadOnly); QByteArray ba = QCryptogra ...
- swift 获取文件的Md5值
获取文件的Md5值的方法如下 func md5File(url: URL) -> String? { let bufferSize = 1024 * 1024 do { //打开文件 let f ...
- JAVA中获取文件MD5值的四种方法
JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...
- c#获取文件MD5算法
//获取文件MD5算法 private static string GetMD5FromFile(string fileName) { try { FileStream file = new File ...
- iOS开发之获取文件的md5值
我们经常有下载文件上的需求 为了安全我们经常需要对文件进行md5校验 那我就来给大家分享一个很方便的获取文件md5值得方法. 首先需要引用系统库文件 #include <CommonCrypto ...
随机推荐
- getimagesize函数介绍
getimagesize(); 返回结果说明 索引 0 给出的是图像宽度的像素值 索引 1 给出的是图像高度的像素值 索引 2 给出的是图像的类型,返回的是数字,其中1 = GIF,2 = JPG,3 ...
- yii2的安装使用
一.Yii2框架 Yii2框架有基本和高级两种版本,主要区别是高级版已经分好了前台.后台,基本版只有前台 二.归档安装方法 归档安装方发很简单,只需要在官网上下载归档文件后,解压即可使用(但是不使用c ...
- sql数据库优化技巧汇总
(转)SQL 优化原则 一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着 ...
- POJ 2513 Colored Sticks 字典树、并查集、欧拉通路
Description You are given a bunch of wooden sticks. Each endpoint of each stick is colored with some ...
- Linux相关命令
使用的是ubuntu 安装JDK 输入java 命令会有提示安装的软件列表 sudo apt-get install openjdk-6-jdk sudo rm file名 删除文件 sudo r ...
- Linux内核监控模块-1-驱动模块(LKM)开发(以一个简单的hello world程序为例)
在上面一篇中介绍到,监控模块要做成一个驱动模块(或者说是可加载模块,LKM),动态的加载到Linux内核中.那么这篇就简单的介绍一下怎样做一个这样的驱动模块. 以简单的hello world程序为 ...
- onethink
http://document.onethink.cn/manual_1_0.html#onethink_usehelp_index
- Node.js V0.12新特性之性能优化
v0.12悠长的开发周期(已经过去九个月了,并且还在继续,是有史以来最长的一次)让核心团队和贡献者们有充分的机会对性能做一些优化.本文会介绍其中最值得注意的几个. 支持塞住模式的可写流 现在可写流可以 ...
- 【Java】关于并发
http://www.cnblogs.com/dolphin0520/p/3958019.html http://www.cnblogs.com/yank/p/3955322.html http:// ...
- 【UVALive - 5131】Chips Challenge(上下界循环费用流)
Description A prominent microprocessor company has enlisted your help to lay out some interchangeabl ...