Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
Delphi 12 Athens
|
AW: Blöde Frage zum Thema ZipCrypto
18. Aug 2023, 17:11
Das Read auf einen Stream macht in der Tat schon länger Ärger. Problematisch sind dabei die Seek-Operationen, denn das decrypten geschieht synchron und dann bringt ein Seek backwards den State durcheinander.
Alternativ zu TStream könntest du mal das Overload mit TBytes versuchen. Da wird zwar intern auch das Read mit Stream verwendet, aber nur mit einem einzigen Read-Call - das funktioniert. Mit den Bytes erzeugst du dann einfach einen TBytesStream.
Eventuell könnte man das Read-Stream-Problem lösen, wenn man im Decrypt Stream gleich beim Create alles entschlüsselt und in einen Puffer schreibt. Braucht dann halt etwas mehr Speicher.
|