Hey .. bin grad dabei ein programm zu schreiben welches ein verzeichnis rekursiv einliest verschlüsselt und in eine datei schreibt ..
diese datei sieht gerade folgendermaßen aus:
<check>viele buchstaben</check>
<folder>test\1\1$test\1\2$test\1\3$test\1</folder>
<file>test\1\1\bild1.jpg$content$test\1\2\bild2.jpg$content$test\1\3\bild3.jpg$content</file>
<password>md5 hash des passwortes</password> (kommt später)
$ ist ein trennzeichen .. und content steht für den inhalt der jeweiligen datei als binärcode
die datei - und ordnerpfade sind alle so gekürzt dass der hauptordner (also den ich rekursiv verschlüsseln möchte) vorne steht ..
mein bisheriges skript ist im anhang
So jetzt paar meiner probleme:
ich öffne jede datei im binary-mode .. dann schreibe ich in eine variable ($Output) dateiname$binärcode .. $ ist natürlich ein trennzeichen für das entschlüsseln ..
wenn ich nun diese variable in eine datei schreibe dann verdoppelt sich die größe .. (also das verzeichnis was ich hab hat zb 100mb dann hat mein output auf einmal 200mb)
als nächstes: wenn ich das archiv später entschlüsseln möchte hab ich eine funktion _CheckArchive() .. diese überprüft den container ob es sich hierbei um eine datei handelt die auch mit meinem programm erstellt worden ist .. dafür vergleicht sie die werte bei <check>buchstaben</check> .. bei einer datei von 200mb dauert dieser vorgang aber schon locker 18sek .. kann ich das irgendwie anders lösen?
joa ich glaub das wärs .. wäre super wenn ihr mir weiterhelfen könnt .. weiß einfach net wie ich das machen sollte