델파이 기본 Hash를 이용한 MD5 파일 Check입니다.

델파이 기본 Hash를 이용한 MD5 파일 Check입니다.

Uses idHash, IdHashMessageDigest;

function MD5(const fileName : string) : string;
 var
   idmd5 : TIdHashMessageDigest5;
   fs : TFileStream;
   hash : T4x4LongWordRecord;
 begin
   idmd5 := TIdHashMessageDigest5.Create;
   fs := TFileStream.Create(fileName, fmOpenRead OR fmShareDenyWrite) ;
   try
     result := idmd5.HashStreamAsHex( fs ) ;
   finally
     fs.Free;
     idmd5.Free;
   end;
 end;
var
  s : String;
  c : integer;
begin
  if OpenDialog1.Execute( handle ) then
  begin
    c := GetTickCount;
    S :=  Md5( OpenDialog1.FileName );
    c := GetTickCount - c;
    Memo1.Lines.Add( intToStr( C ) + ' : ' + S );
  end;

 

Author: yyjksw