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;
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;
'Delphi' 카테고리의 다른 글
[Delphi] 폼의 클래스명 바꾸기 (0) | 2010.06.18 |
---|---|
[Delphi] 특정 DLL을 로딩하고 있는 프로세스 종료시키기 (2) | 2010.06.17 |
[Delphi] IdHTTP로 세션아이디를 포함하여 요청하기 (SessionID) (0) | 2010.06.17 |
[Delphi] TWebBrowser에서 세션아이디(SessionID) 가져오기 (0) | 2010.06.17 |
[Delphi] 다른 프로그램의 메뉴 실행시키기 (0) | 2010.06.14 |