Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
|
Re: Hash erzeugen während die Datei übertragen wird
13. Nov 2008, 18:06
Du kannst die Windows-Crypt- API benutzen:
Delphi-Quellcode:
type MD5_CTX = packed record
i: packed array[0..1] of longint; // ULONG[2]
buf: packed array[0..3] of longint; // ULONG[4]
_in: packed array[0..63] of byte; // unsigned char[64]
digest: packed array[0..15] of byte; // unsigned char[16]
end;
procedure MD5Init(var context: MD5_CTX); stdcall; external 'Cryptdll.dll' name 'MD5Init';
procedure MD5Update(var context: MD5_CTX; const input; inputLength: word); stdcall; external 'Cryptdll.dll' name 'MD5Update';
procedure MD5Final(var context: MD5_CTX); stdcall; external 'Cryptdll.dll' name 'MD5Final';
// das nur mal als Beispiel wie es funktioniert
function StreamToMD5String(x: TStream): string;
var context: MD5_CTX;
buffer: packed array[0..511] of byte;
length: integer;
i: integer;
begin
MD5Init(context);
x.Position := 0;
repeat
length := x.Read(buffer, 512);
MD5Update(context, buffer, length);
until length <= 0;
MD5Final(context);
for i := 0 to 15 do
result := result + IntToHex(context.digest[i], 2);
end;
MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
|