Du wärst noch schneller dran, wenn du Wolfgang Erhardts Units verwenden und einen Stream hashen würdest.
Hier für einen String. für einen Stream weiß ich nicht wie es funktioniert
Delphi-Quellcode:
function MD5(const s: UTF8String): string;
var
Context: THashContext;
Hash: TMD5Digest;
begin
MD5Init(Context);
MD5Update(Context, PAnsiChar(s), Length(s) * SizeOf(Byte));
MD5Final(Context, Hash);
Result := string(Mem_Util.HexStr(@Hash, SizeOf(Hash)));
end;