代码之家  ›  专栏  ›  技术社区  ›  Mikey

MD5文件哈希-将Delphi输出与php md5_文件函数匹配

  •  2
  • Mikey  · 技术社区  · 15 年前

    我目前在Delphi7中使用此代码进行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 回复  |  直到 12 年前
        1
  •  6
  •   user213154    15 年前

    将结果与以下内容进行比较:

    如果除了一个以外的所有人都同意这个总数,那么你就知道该从哪里挖掘了。

        2
  •  3
  •   Mason Wheeler    15 年前

    好吧,你没有提供Delphi版本号,但是如果你是在2007版或更高版本上,你可能想签出 this article.