【问题标题】:MD5 File Hashing - match Delphi output with PHP md5_file functionMD5 文件散列 - 将 Delphi 输出与 PHP md5_file 函数匹配
【发布时间】:2010-12-29 12:05:46
【问题描述】:

我目前在 Delphi 7 中使用此代码进行 md5 散列:

function MD5(const fileName : string) : string;
var
  idmd5 : TIdHashMessageDigest5;
  fs : TFileStream;
begin
  idmd5 := TIdHashMessageDigest5.Create;
  fs := TFileStream.Create(fileName, fmOpenRead OR fmShareDenyWrite) ;
  try
    result := idmd5.AsHex(idmd5.HashValue(fs)) ;
  finally
    fs.Free;
    idmd5.Free;
  end;
end;

我正在尝试获得与 PHP 函数相同的输出

md5_file()

我环顾四周,常见问题似乎是编码而不是用零填充,但我不知道如何使用 TIdHashMessageDigest5 执行这些操作,也不知道它们是否已经在函数中完成。

如果有人有他们为此使用的任何功能,将不胜感激!

或者可能是一种更改 php 函数以匹配 Indy 的方法

【问题讨论】:

    标签: php delphi hash md5


    【解决方案1】:

    将您的结果与:

    如果除了一个人以外的所有人都同意总和是多少,那么您就知道该去哪里挖了。

    【讨论】:

      【解决方案2】:

      好吧,您没有提供 Delphi 版本号,但如果您使用的是 D2007 或更高版本,您可能需要查看 this article.

      【讨论】:

      • 感谢您提及我的文章! --jeroen
      • Mason 指出的文章今天已更新:编辑:20091223:自 Delphi 7.01 以来,Indy 提供了也执行 md5 的单元 IdHashMessageDigest,请参阅 cmets。
      猜你喜欢
      • 2012-06-17
      • 2013-08-29
      • 2018-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-12
      • 2010-11-16
      • 2014-11-18
      相关资源
      最近更新 更多