Zitat von
Sierra:
Es wäre echt nett, wenn mir jemand bei diesem Problem auf die Sprünge helfen könnte, da es sehr wichtig für mich ist.
Wenn "es sehr wichtig" für Dich ist, kann ich Deine andere Aussage nicht ganz verstehen und andere Leute wohl auch nicht: "Ehrlich gesagt habe ich auch nicht die Lust, ein paar Stunden lang durch den Algorithmus zu steppen, um herauszufinden, wo das hingehört."
Fakt ist, wie negaH schreibt, daß in der Regel im verschlüsselten Text #0-Zeichen vorkommen:
Zitat:
Also auch das Zeichen #0 bzw. Byte = 0. Dieses Zeichen ist bei Strings aber der Null-Terminator, der einen lesbaren String beendet. Wenn du also das Resultat vom RC4 ständig neue Strings zuweist so schneidet die String-
RTL diesen String ab.
Die zweite Aussage ist allerdings schlichtweg falsch. #0 ist ein völlig legales Zeichen in Strings und wird von der
RTL auch so behandelt. Nur beim pchar-Typ ist es das Endezeichen. Einige
VCL-Routine sind buggy mit #0 in Strings (weil sie über pchar gehen).
Wir wäre es, wenn Du die ganze Sache (fast) vom Anfang beginnst: Das einfachste ist doch, ohne zusätzliche Hex-Umwandlung den verschlüsselten Memoryblock in eine (binäre) Datei zuschreiben.
Wolfgang