Delphi 使用MD5 比对文件

使用MD5的方法比对CXimage里图片是否改变:

Delphi7实现方法:

uses IdHashMessageDigest 



function TForm1.GetImageMD5(cxImage: TcxImage): string;

var

  tmpMD5: TIdHashMessageDigest5;

  ms: TMemoryStream;

begin

  result:='';

  if cxImage.Picture.Graphic=nil then exit;

  tmpMD5:=TIdHashMessageDigest5.Create;

  ms:= TMemoryStream.Create;

  try

    cxImage.Picture.Graphic.SaveToStream(ms);

    result:=tmpMD5.AsHex(tmpMD5.HashValue(ms));

  finally

    tmpMD5.Free;

    ms.Free;

  end;

end;
View Code

Delphi2010实现方法:

 1 uses IdHashMessageDigest

 2 

 3 function GetImageMD5(cxImage: TcxImage): string;

 4 var

 5   tmpMD5: TIdHashMessageDigest5;

 6   ms: TMemoryStream;

 7 begin

 8   result:='';

 9   if cxImage.Picture.Graphic=nil then exit;

10   tmpMD5:=TIdHashMessageDigest5.Create;

11   ms:= TMemoryStream.Create;

12   try

13     cxImage.Picture.Graphic.SaveToStream(ms);

14     ms.Position:=0;

15     result:=tmpMD5.HashStreamAsHex(ms);

16   finally

17     tmpMD5.Free;

18      ms.Free;

19   end;

20 end;
View Code

参考:http://www.cnblogs.com/jxsoft/archive/2011/08/08/2131436.html

你可能感兴趣的:(Delphi)