Tach Ultimator,
bestimmte Steuerzeichen sollte Dein String nicht beinhalten, da
sonst von einem Ende des Strings ausgegangen wird und ausserdem
können nicht alle
Ascii-Zeichen als String ausgegeben werden (z.B.
manche Steuerzeichen). Das ist auch der Grund, aus dem Dein String
nicht komplett angezeigt wird.
Keine Sorge, Du musst Deinen String nicht nach solchen Zeichen
durchforsten.
Zu Deinem symmetrischen Algorithmus folgender Vorschlag:
Speichere den verschlüsselten String gleich in einem BYTE-Array ab
und schaue Dir dann die unterschiedlichen Zahlenwerte darin
an. Dann wirst Du bemerken, dass Dein String nicht abgeschnitten
wurde, sondern manche Bereiche lediglich nicht angezeigt werden können.
Beim entschlüsseln ziehst Du Deine Zahlenwerte (in Deinem Beispiel
mittels XOR) wieder zurück in den String und enthältst den ursprünglichen
Text wieder in seiner entschlüsselten Form.