Advertisement
xpert13

md5hash

May 3rd, 2012
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 0.85 KB | None | 0 0
  1. unit md5hash;
  2.  
  3. interface
  4.  
  5. uses DCPcrypt2, DCPmd5, SysUtils;
  6.  
  7. function md5 (s: String): String;
  8.  
  9. implementation
  10.  
  11. function DigestToStr(Digest: array of byte): String;
  12. var
  13.   i: Integer;
  14. begin
  15.   Result := '';
  16.   for i := 0 to Length(Digest) - 1 do
  17.     Result := Result + LowerCase(IntToHex(Digest[i], 2));
  18. end;
  19.  
  20. function md5 (S: String): String;
  21. var
  22.   Hash: TDCP_md5;
  23.   SA : AnsiString;
  24.   Digest: array of Byte;
  25. begin
  26.   Hash := TDCP_md5.Create(nil); // создаём объект
  27.   Hash.Init;
  28.   SA := AnsiString(S);
  29.   Hash.Update(SA[1], length(SA));
  30.   SetLength(Digest,Hash.HashSize div 8);
  31.   Hash.Final(Digest[0]);             // сохраняем её в массив
  32.   Hash.Free;                      // уничтожаем объект
  33.   Result := DigestToStr(Digest);  // получаем хэш-сумму строкой
  34. end;
  35.  
  36. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement