@Jargos:
bei ADest.WriteBuffer(Salt[1], Length(Salt)); in Encrypt() kannst du vor oder danach eigene Daten abspeichern. Die musst du natürlich in Decrypt() auch wieder rauslesen. Also eigene Datenmenge abspeichern und exakt gleiche Datenmenge vor dem Entschlüsseln wieder rauslesen. Du musst nur die TStream basierten Prozeduren abändern.
Gruß Hagen
PS: beachte das diese Daten dann unverschlüsselt sind. Möchtest du dies nicht dann kannst du auch ein zweifaches .EncodeStream(ASource, ADest,..) einbauen. das ginge dann so
Delphi-Quellcode:
with ...Create do
try
...blabla Init Sequenz
SetLength(AData, Cipher.Context.BufferSize * x);
AData := EncodeBinary(AData, TFormat_COPY);
ADest.WriteBuffer(AData[1], Length(AData));
EncodeStream(ASource, ADest, ....);
finally
Free;
end;
Nur musst du beachten das die Anzahl an Bytes in AData exakt ein Mehrfaches der Cipher.BufferSize sind um ein vorzeitiges Padding zu vermeiden. Du verschlüsselt als so als wenn in ASource ein Header von dir vor den eigentlichen Daten drinnenstehen würde.