Danke Euch.
Mit MD4 bin ich nicht weiter gekommen.
Und in
ZLib ist crc32 offenbar von adler32 abgelöst worden.
Das habe ich einfach mal geetestet und es scheint wunderbar und schnell zu funktionieren.
(Intern wird das in
ZLib scheinbar als Checksum im Compressverfahren genutzt.)
Delphi-Quellcode:
function TodPerson.GetPictureStream: TMemoryStream;
var
P: PChar;
C: LongInt;
begin
P := PChar(Picture);
C := adler32(0, P, Length(P));
// if Picture <> OldString then
if C <> OldC then
begin
Base64ToMS(Picture, FPictureStream);
// OldString := Picture;
OldC := C;
end;
FPictureStream.Seek(0, soBeginning);
Result := FPictureStream;
end;