MD5文件散列 - 将Delphi输出与PHP md5_file函数匹配

时间:2009-12-23 13:52:14

标签: php delphi hash md5

我目前在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的方法

2 个答案:

答案 0 :(得分:6)

将您的结果与:

进行比较

如果所有人都同意这笔款项,那么你就知道在哪里挖掘。

答案 1 :(得分:3)

好吧,你没有提供Delphi版本号,但如果你在D2007或更高版本,你可能想看看this article.