Eine Frage noch: Das Passwort wird im Header logischerweise nur als Hash-Wert gespeichert oder?
Also:
Code:
////////////////////////////////
Header
CipherIdentity: Cardinal
HashIdentity: Cardinal
PW als Hash: String;
////////////////////////////////
Daten
verschlüsselte Datei
...
...
...
...
...
...
...
////////////////////////////////
Den Header darf man natürlich nicht mit verschlüsseln, also erst die Datei verschlüsseln und dann den Header dazupacken. Beim Entschlüsseln Header auslesen, Passwort überprüfen, Header aus der verschlüsselten Datei entfernen, entschlüsseln.
Hm.
Der Passwort Hash wird ja ein String. Wie schreibt man denn ein Header-Record mit eienm Delphi HugeString, also mit einem String dessen Länge man nicht kennt? Somit ist ja auch die Headergröße nicht bekannt. Oder kann man davon ausgehen, dass ein Hash nicht länger wird als 255 Zeichen?
PS. Ich denke nur mal laut.