TIdMessageDigest5 를 이용하여 MD5 를 구하는 함수들. (델파이2009 이상)
2009 아래 버전은 다음을 참조 : http://delphi.about.com/od/objectpascalide/a/delphi-md5-hash.htm

노가다 수작업 버전 : http://bloodguy.tistory.com/entry/Delphi-MD5-함수


uses
  IdHashMessageDigest, IdHash;

// 문자열 -> MD5
function MD5Str(const S: String): String;
var IdMD5: TIdHashMessageDigest5;
begin
  IdMD5:=TIdHashMessageDigest5.Create;
  try
    Result:=IdMD5.HashStringAsHex(S);
  finally
    FreeAndNil(IdMD5);
  end;
end;


// 파일 -> MD5
function MD5File(const FilePath: String): String;
var
  IdMD5: TIdHashMessageDigest5;
  fStream: TFileStream;
begin
  Result:='';
  if not FileExists(FilePath) then Exit;

  IdMD5:=TIdHashMessageDigest5.Create;
  fStream:=TFileStream.Create(FilePath, fmOpenRead or fmShareDenyWrite);
  try
    Result:=IdMD5.HashStreamAsHex(fStream);
  finally
    FreeAndNil(fStream);
    FreeAndNil(IdMD5);
  end;
end;






Posted by bloodguy
,