原来写过一个计算MD5的程序,是用了一个叫MD5.pas的单元,使用起来还算简单,但还有更简单的办法,安装了indy就会有IdHashMessageDigest单元(delphi 7默认安装indy)
有篇文章教怎么用IdHashMessageDigest计算字符串md5,计算文件md5却没有说,在这里补充一下,先看计算函数:
function TIdHashMessageDigest4.HashValue(AStream: TStream): T4x4LongWordRecord;参数类型是一个流就可以返回T4x4LongWordRecord类型的值,使用function TIdHash128.AsHex(const AValue: T4x4LongWordRecord): string;把T4x4LongWordRecord转换为字符串就可以显示出来,到这里就简单了,把一个文件以流的方式读取,使用HashValue就计算出MD5了,流的使用很简单,TFileStream.Create(const FileName: string; Mode: Word);参数FileName就是文件的路径,Mode就是打开方式,使用fmOpenRead以读方式打开,如果要计算大型文件最好使用线程来操作.以下是实例代码:
在uses添加IdHashMessageDigest
procedure TForm1.Button1Click(Sender: TObject);
var
mymd5:TIdHashMessageDigest5;
begin
mymd5:=TIdHashMessageDigest5.Create;
ShowMessage(mymd5.AsHex(mymd5.HashValue('admin')));//计算字符串admin的MD5
ShowMessage(Copy(mymd5.AsHex(mymd5.HashValue('admin')),9,16));//获取16位字符串MD5
ShowMessage(mymd5.AsHex(mymd5.HashValue(TFileStream.Create('e:\VRMPVOL_CNsp2.iso',fmOpenRead))));//计算文件MD5
mymd5.Free;
end;
文章转自:http://blog.csdn.net/ccdarkness/archive/2006/09/22/1267355.aspx
分享到:
相关推荐
由于MD5是不可逆的,因而经过MD5计算得到后的密文,不能通过逆向算法得到原文。 回顾在Web应用程序中使用MD5加密文本密码的初衷,就是为了防止数据库中保存的密码不幸泄露后被直接获得。但攻击者不但拥有数据量...
举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。...
MD5是目前最热门的加密算法,我们通常用MD5值来验证文件的完整性。例如在一些比较正规的下载网站,通常会提供软件的MD5值,这样我们就可以对下载回来的文件用MD5校检软件(如HashX等)做一次MD5校验,以确保我们获得...
举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。...
你可以打开对话框选择需要计算MD5值的文件,也支持拖拽,把你要计算的文件拖拽到本程序内,即可计算,可以同时处理多个文件,速度极快,极大的提高了工作效率,并且可以把最后的计算结果保存下来,操作简单,直观。
MD5-Hash哈希值计算工具是一个MD5码以及哈希值计算工具,计算的类型包括有MD5、SHA1、CRC32,支持字符串和文件的计算。操作上算是相当的简单:字符串计算的话,只要输入到它的文本框,下面就会自动显示出对应的MD5码...
本工具用于计算文本或文件的校验码(计算文件的消息摘要), 目前系统支持MD5(128位)/SHA1(160位) /SHA256(256位)/SHA384(384位)/SHA512(512位)/RIPEMD160(160位)算法. 简单地理解, 可以认为, 消息摘要算法就是将一...
getMD5ofStr是类MD5最主要的公共方法,入口参数是你想要进行MD5变换的字符串 返回的是变换完的结果,这个结果是从公共成员digestHexStr取得的. */ public String getMD5ofStr(String inbuf) { md5Init(); ...
最初,我们的md5哈希是使用以下简单且流行的实用程序执行的: : (此处称为“ MD5 ”)。但是, MD5是同步的,阻塞了代码执行,而且速度很慢,对于视频来说是不现实的慢文件。 (在我们低功耗的服务器平台上,我们...
当你按照我上面所说的方法实现MD5算法以后,你可以用以下几个信息对你做出来的程序作一个简单的测试,看看程序有没有错误。 MD5 ("") = d41d8cd98f00b204e9800998ecf8427e MD5 ("a") = 0cc175b9c0f1b6a831c399...
举个例子,你将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。...
* getMD5ofStr是类MD5最主要的公共方法,入口参数是你想要进行MD5变换的字符串 * 返回的是变换完的结果,这个结果是从公共成员digestHexStr取得的. */ public String getMD5ofStr(String inbuf) { md5Init(); ...
是作者已发布专栏分布计算系统 的MD文档以及相关课程PPT 可以直接下载后转为pdf文件直接背诵 亲测好用! 总体来说分布计算系统的考试较为简单 大部分为理解性内容和背诵内容,但是需要注意的是在最后的考试当中会对...
getMD5ofStr是类MD5最主要之公共方法,入口参数是你想要进行MD5变换之字符串 返回之是变换完之结果,这个结果是从公共成员digestHexStr取得之. F, G, H ,I 是4个基本之MD5函数,在原始之MD5之C实现中,由于...
作为互联网标准(RFC 1321),MD5已被广泛用于各种安全应用,也常用于检查文件的完整性和验证下载。WinMD5 是一个小而简单的工具,用于计算不同文件(包括大于 5 GB 的文件)的 md4 哈希校验。 特征: 1. 支持几乎...
MD5是目前最热门的加密算法,我们通常用MD5值来验证文件的完整性。例如在一些比较正规的下载网站,通常会提供软件的MD5值,这样我们就可以对下载回来的文件用MD5校检软件(如HashX等)做一次MD5校验,以确保我们...
用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC框架 nfs-rpc nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用...
@ 1hostjs / hosting-托管网站的最简单方法 如何使用 需要模块 var onehostjs = require ( "@1hostjs/hosting" ) ; 用它 onehostjs ( modulesJson , dirname ) ; // modulesJson should be the modules.json file ...
建模最简单的MPU6050卡尔曼滤波c语言源码 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内...
2、容易计算:从原数据计算出MD5值很容易。 3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。 4、弱抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据...