首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >文件MD5校验和

文件MD5校验和
EN

Stack Overflow用户
提问于 2009-01-15 18:55:27
回答 8查看 19.1K关注 0票数 4

this question中提到了wcrypt2。

我需要的是简单地计算一个文件的MD5。如果我可以计算它而不必保存它,那就太完美了,因为它是以流格式下载的文件。

我希望有最直接的方法来做到这一点。

谢谢!

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-10-20 19:28:04

以下是Indy 10的工作代码:

代码语言:javascript
复制
function MD5File(const FileName: string): string;
var
  IdMD5: TIdHashMessageDigest5;
  FS: TFileStream;
begin
 IdMD5 := TIdHashMessageDigest5.Create;
 FS := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
 try
   Result := IdMD5.HashStreamAsHex(FS)
 finally
   FS.Free;
   IdMD5.Free;
 end;
end;

致敬,OscaR1

票数 14
EN

Stack Overflow用户

发布于 2009-01-16 14:39:29

基于@dummzeuch answere,我写了这个函数:

代码语言:javascript
复制
function getMD5checksum(s: TStream): string;
 var
  md5: TIdHashMessageDigest5;
  hash : T4x4LongWordRecord;
 begin
  md5 := TIdHashMessageDigest5.Create;
  s.Seek(0,0);
  hash := md5.HashValue(s);
  result := IntToHex(Integer(hash[0]), 4) +
            IntToHex(Integer(hash[1]), 4) +
            IntToHex(Integer(hash[2]), 4) +
            IntToHex(Integer(hash[3]), 4);
 end;
票数 5
EN

Stack Overflow用户

发布于 2009-01-15 19:42:48

Indy提供了计算多个散列的函数,MD5就是其中之一。从Delphi 2006开始,所有版本的Delphi都包含Indy,旧版本可以免费下载。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/447985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档