`
mathsfan
  • 浏览: 569982 次
  • 性别: Icon_minigender_1
  • 来自: 浙江省杭州市
社区版块
存档分类
最新评论

最简单的计算MD5方法(转)

阅读更多
原来写过一个计算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是不可逆的,因而经过MD5计算得到后的密文,不能通过逆向算法得到原文。  回顾在Web应用程序中使用MD5加密文本密码的初衷,就是为了防止数据库中保存的密码不幸泄露后被直接获得。但攻击者不但拥有数据量...

    MD5计算检验工具 x64

    举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。...

    fastcoll伪造MD5值

    MD5是目前最热门的加密算法,我们通常用MD5值来验证文件的完整性。例如在一些比较正规的下载网站,通常会提供软件的MD5值,这样我们就可以对下载回来的文件用MD5校检软件(如HashX等)做一次MD5校验,以确保我们获得...

    MD5计算检验工具 x32

    举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。...

    Windows MD5 Check

    你可以打开对话框选择需要计算MD5值的文件,也支持拖拽,把你要计算的文件拖拽到本程序内,即可计算,可以同时处理多个文件,速度极快,极大的提高了工作效率,并且可以把最后的计算结果保存下来,操作简单,直观。

    MD5-Hash哈希值计算工具1.8

    MD5-Hash哈希值计算工具是一个MD5码以及哈希值计算工具,计算的类型包括有MD5、SHA1、CRC32,支持字符串和文件的计算。操作上算是相当的简单:字符串计算的话,只要输入到它的文本框,下面就会自动显示出对应的MD5码...

    MD5、SHA1校验工具

    本工具用于计算文本或文件的校验码(计算文件的消息摘要), 目前系统支持MD5(128位)/SHA1(160位) /SHA256(256位)/SHA384(384位)/SHA512(512位)/RIPEMD160(160位)算法. 简单地理解, 可以认为, 消息摘要算法就是将一...

    MD5加密类详细写法

    getMD5ofStr是类MD5最主要的公共方法,入口参数是你想要进行MD5变换的字符串 返回的是变换完的结果,这个结果是从公共成员digestHexStr取得的. */ public String getMD5ofStr(String inbuf) { md5Init(); ...

    md5-wasm:异步MD5计算器,使用WebAssembly处理较大的文件

    最初,我们的md5哈希是使用以下简单且流行的实用程序执行的: : (此处称为“ MD5 ”)。但是, MD5是同步的,阻塞了代码执行,而且速度很慢,对于视频来说是不现实的慢文件。 (在我们低功耗的服务器平台上,我们...

    MD5加密算法(Java语言描述)

     当你按照我上面所说的方法实现MD5算法以后,你可以用以下几个信息对你做出来的程序作一个简单的测试,看看程序有没有错误。  MD5 ("") = d41d8cd98f00b204e9800998ecf8427e  MD5 ("a") = 0cc175b9c0f1b6a831c399...

    [S036] MD5算法.rar

    举个例子,你将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。...

    MD5Code加密技术

    * getMD5ofStr是类MD5最主要的公共方法,入口参数是你想要进行MD5变换的字符串 * 返回的是变换完的结果,这个结果是从公共成员digestHexStr取得的. */ public String getMD5ofStr(String inbuf) { md5Init(); ...

    吉林大学 研究生课程 分布式计算 复习资料 ppt+个人MD文档 一共九章

    是作者已发布专栏分布计算系统 的MD文档以及相关课程PPT 可以直接下载后转为pdf文件直接背诵 亲测好用! 总体来说分布计算系统的考试较为简单 大部分为理解性内容和背诵内容,但是需要注意的是在最后的考试当中会对...

    JSP手机语音验证码接口调用例子.rar

     getMD5ofStr是类MD5最主要之公共方法,入口参数是你想要进行MD5变换之字符串  返回之是变换完之结果,这个结果是从公共成员digestHexStr取得之.  F, G, H ,I 是4个基本之MD5函数,在原始之MD5之C实现中,由于...

    WindowsMD5 校验工具

    作为互联网标准(RFC 1321),MD5已被广泛用于各种安全应用,也常用于检查文件的完整性和验证下载。WinMD5 是一个小而简单的工具,用于计算不同文件(包括大于 5 GB 的文件)的 md4 哈希校验。 特征: 1. 支持几乎...

    fastcoll_v1.0.0.5.exe

    MD5是目前最热门的加密算法,我们通常用MD5值来验证文件的完整性。例如在一些比较正规的下载网站,通常会提供软件的MD5值,这样我们就可以对下载回来的文件用MD5校检软件(如HashX等)做一次MD5校验,以确保我们...

    java开源包7

    用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC框架 nfs-rpc nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用...

    hosting:托管网站的最简单方法

    @ 1hostjs / hosting-托管网站的最简单方法 如何使用 需要模块 var onehostjs = require ( "@1hostjs/hosting" ) ; 用它 onehostjs ( modulesJson , dirname ) ; // modulesJson should be the modules.json file ...

    建模最简单的MPU6050卡尔曼滤波c语言源码

    建模最简单的MPU6050卡尔曼滤波c语言源码 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内...

    ios-鹏哥哥算法加密.zip

    2、容易计算:从原数据计算出MD5值很容易。 3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。 4、弱抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据...

Global site tag (gtag.js) - Google Analytics