MD5 Checksumme aus Daten in einem TMemoryStream

Rund um die LCL und andere Komponenten
Antworten
MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

MD5 Checksumme aus Daten in einem TMemoryStream

Beitrag von MmVisual »

Hallo,

Ich wollte aus Daten die in einem TMemoryStream stehen eine MD5 Checksumme errechnen. Leider gibt es keine TStream Funktion in der Unit md5 die das macht.
Ich habe nur das gefunden:

function MD5Buffer(var Buf; const BufLen: PtrUInt): TMD5Digest;

Ein Buffer ohne Typ.

Nun wollte ich mir das einfach machen:
mdDig := MD5Buffer(stMem.Memory, stMem.Size);

aber klappt natürlich nicht. Ich wollte jetzt kein Buffer auf machen, da die TMemory-Stream Daten bis zu 60MB haben können, daher sollte die MD5 Routine direkt auf den TStream zu greifen und so die Zeit des Kopierens sparen.

Gibt es eine Möglichkeit das direkt zu machen?

Grüße Markus.
EleLa - Elektronik Lagerverwaltung - www.elela.de

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: MD5 Checksumme aus Daten in einem TMemoryStream

Beitrag von MmVisual »

Ich hab's raus gefunden...

mdDig := MD5Buffer(stMem.Memory^, stMem.Size);
EleLa - Elektronik Lagerverwaltung - www.elela.de

Antworten