`
mathsfan
  • 浏览: 585163 次
  • 性别: 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哈希值。对于文本,可以直接在工具的输入框内输入,点击计算即可得到MD5值。这些工具通常还支持其他散列算法,...

    md5算法.可以对文件和字符串计算md5值

    还会声明MD5的初始化函数(如MD5_Init)、更新函数(如MD5_Update)和最终化函数(如MD5_Final),它们分别用于开始计算、添加数据和获取最终的MD5摘要。 3. **实现MD5函数(Md5.cpp)**:在这个源文件中,你需要实现...

    计算md5值的C++类

    你提到的"计算MD5值的C++类"提供了这样的功能。 MD5算法的基本流程包括四个步骤:初始化、压缩函数、填充和输出。初始化阶段设置16个32位的中间变量,压缩函数通过对输入信息进行多次迭代处理,不断更新这些中间...

    文件md5计算源码

    4. 用户界面:作为win32程序,它可能包含简单的用户界面,让用户选择文件并显示计算出的MD5值。这需要用到Windows消息处理机制,如`CreateWindow`、`DefWindowProc`、`GetMessage`等API。 5. 错误处理:良好的错误...

    Android Md5 计算(源码)

    在Android应用中,你可以调用这个方法来计算任何字符串的MD5值,例如用户密码,然后将结果存储在数据库或进行比对。这有助于保护用户数据的安全,因为原始数据即使被截获,也无法直接还原,除非能找出匹配的原始数据...

    如何在不额外读流的情况下计算md5值(csdn)————程序.pdf

    这种方式虽然简单,但是涉及到两次磁盘I/O:一次写入文件,一次读取计算MD5。 第二种方法则巧妙地将下载文件和计算MD5的过程合并,只使用了一次磁盘I/O。它利用Java内置的`MessageDigest`类,实例化一个MD5摘要对象...

    实现MD5计算(MFC版)

    通过这样的方式,你可以在VC环境下使用MFC编写一个简单的MD5计算器。这个“MD5计算器”项目可能包含一个主界面,用户可以输入文本或选择文件,然后点击计算按钮,程序会显示对应的MD5值。标签“VC”表明这是使用...

    计算文件MD5 c++源码

    以下是一个简单的示例,展示如何使用`openssl`库计算文件的MD5值: ```cpp #include <openssl/md5.h> #include #include #include std::string calculateFileMD5(const std::string& filePath) { std::...

    VB6.0 MD5加密算法 支持中文(调用Window API计算)

    下面是一个简单的VB6.0代码示例,演示如何调用API进行MD5加密: ```vb Private Declare Function CryptAcquireContext Lib "advapi32.dll" (ByRef phHash As Long, ByVal szContainer As String, ByVal szProvider ...

    C++计算MD5值计算机系统为Linux Deepin

    以下是一个简单的C++程序示例,它使用了开源库`openssl`来计算MD5值: ```cpp #include <openssl/md5.h> #include #include #include #include std::string calculateMD5(const std::string& filePath) { std...

    VC/MFC 获取文件MD5值 获取大文件MD5值

    4. **使用计算MD5的函数**:在你的MFC应用程序中,调用这个函数,传入你想要计算MD5值的文件路径,然后就可以得到文件的MD5值了。 5. **处理大文件**:在上述代码中,我们使用了一个固定大小的缓冲区读取文件,这种...

    Gradle生成md5代码

    首先,我们通过`file()`方法指定要计算MD5的文件路径,然后将其字节内容传递给`md5Hex`方法,该方法会返回一个16进制表示的MD5字符串。最后,我们通过`println`打印出MD5值。 为了运行这个任务,只需在终端或命令行...

    【MD5值测算工具】计算你文件的MD5值

    首先,你需要选择要计算MD5值的文件,然后运行MD5工具,它会自动读取文件内容并计算出对应的MD5哈希值。这个哈希值通常以字符串形式显示,你可以将其与官方提供的MD5值进行对比,以确认文件的真实性。 在标签中,...

    MD5 32bit计算

    在这个文件中,你可能会看到一个如`MD5Checksum`的类,包含了计算MD5的方法,如`calculateHash`,以及可能的辅助函数,如用于处理输入字符串的`update`方法。 MD5算法的工作原理可以分为四个步骤: 1. **初始化**:...

    MD5算法代码

    2. **预处理**:在计算MD5之前,原始数据会被填充到最接近512位的倍数,然后添加一个128位的填充位和64位的表示原始数据长度的信息。 3. **主循环**:主循环分为四个阶段,每个阶段都有不同的操作,如逐轮替换、异或...

    MD5算法BCB模块

    这对于快速实现MD5计算功能非常方便,尤其适合那些不熟悉MD5算法底层实现的开发者。 Borland C++ Builder(简称BCB)是Embarcadero Technologies开发的一款集成开发环境,主要用于编写C++应用程序。Bcb6是其第六个...

    esp8266 MD5的加密

    2. **源码示例**:描述中提到的源码例子可能是为了演示如何使用这些库来计算MD5摘要。源码可能包含以下步骤: - 包含所需的库头文件。 - 创建MD5对象实例。 - 初始化MD5哈希上下文。 - 使用`update()`函数添加要...

    cocos2dx下可用的,验证文件MD5代码及使用方法

    首先,`MD5ChecksumDefines.cpp` 和 `MD5ChecksumDefines.h` 文件可能包含了用于计算MD5校验和的相关定义和宏。例如,它们可能包含了计算MD5的函数原型、结构体定义或者错误处理代码。这些头文件通常定义了计算MD5的...

    MD5计算检验工具 x64

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

    VB三种方式计算MD5

    在VB(Visual Basic)编程环境中,计算MD5有三种常见方法:直接编写源码、利用API函数以及使用DLL库。下面我们将详细讨论这三种方法。 1. **源码编写计算** 在VB中,自定义MD5算法可能涉及到复杂的位操作和循环。...

Global site tag (gtag.js) - Google Analytics