Delphi의 MD5 구현 방법

2039 단어 Delphi
 Delphi   Indy         MD2,MD4,MD5   ,             MD5     。          DLL  Pas 。 
Uses IdHashMessageDigest,IdGlobal, IdHash , MD5 。

procedure TForm1.Button1Click(Sender: TObject);
var
MyMD5: TIdHashMessageDigest5;
Digest: T4x4LongWordRecord;
begin
MyMD5 := TIdHashMessageDigest5.Create;
Digest := MyMD5.HashValue('');
ShowMessage('32: ' + MyMD5.AsHex(Digest)); // 32 MD5
ShowMessage('16: ' + Copy(MyMD5.AsHex(Digest), 9, 16)); // 16 MD5
end;

MyMD5.HashValue , T4x4LongWordRecord MD5
MyMD5.AsHex T4x4LongWordRecord Md5 MD5 。

----------------------------------------- Indy9---------------------------------------------

Indy10 delphi2009 delphi2010 .

type
TMD5 = class(TIdHashMessageDigest5);

function StrToMD5(S: String): String; overload;
function StrToMD5(S: String; L: integer): String; overload;

implementation

function StrToMD5(S: String): String;
var
Md5Encode: TMD5;
begin
Md5Encode:= TMD5.Create;
try
//Result := Md5Encode.AsHex(Md5Encode.HashValue(S)); // Indy9
Result := Md5Encode.HashStringAsHex(S); // Indy10 HashStringAsHex
finally
Md5Encode.Free;
end;
end;

function StrToMD5(S: String; L: integer): String;
begin
  Result := Copy(StrToMD5(S), 5, L);
end;

(From: http://www.delphitop.com/html/jiami/1775.html)

좋은 웹페이지 즐겨찾기