delphi开发获取文件MD5值  
官方Delphi 学习QQ群: 682628230(三千人)\n
频道

delphi开发获取文件MD5值


unit Umain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,IdHashMessageDigest,IdGlobal,IdHash;

type
  TForm1 = class(TForm)
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    function StreamToMD5(s:TFileStream):string;
    { Private declarations }

  public
    { Public declarations }
  end;

  type
      TMD5=class(TIdHashMessageDigest5);

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
    filesen:TFileStream;
    str:string;
begin
    if opendialog1.Execute then
    begin
        filesen:=TFileStream.Create(opendialog1.FileName,fmopenread or fmshareExclusive);
        str:=StreamToMD5(filesen);
        memo1.Lines.Add(str);
        filesen.Free;
    end;
end;

function TForm1.StreamToMD5(s:TFileStream):string;
var
    MD5Encode:TMD5;
    long:T4x4LongWordRecord;
begin
    MD5Encode:=TMD5.Create;
    try
        long:=md5encode.HashValue(s);
        result:=MD5Encode.AsHex(long);
    finally
        MD5Encode.Free;
    end;
end;

end.
————————————————

原文链接:https://blog.csdn.net/xxkku521/article/details/8815142

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.064738988876343 seconds