Eine einfache XOR-Verschlüsselung

Grundlage dieser Verschlüsselung
ist die XOR-Eigenschaft:
(String XOR Key) XOR Key = String
Der zu verschlüsselnde String
wird byteweise mit dem frei wählbaren
Key byteweise "gexort".
Als Ergebnis erhält man einen
gleichlangen Ergebnisstring, der
ggf. nichtdruckbare Zeichen enthält.
Jetzt wird dieser String mit einem Header
versehen, in dem die Informationen
gespeichert sind, die eine verlustfreie
Konvertierung zu einem String erlauben,
der ausschließlig druckbare Zeichen
enthält.
Zum Test wird dieser Ergebnisstring
wieder decodiert und wir hoffen, dass
nun der Ursprungsstring wieder erscheint.

Der zu verschlüsselnde String:

Mit folgendem Key verschlüsseln:

Das direkte Ergebnis:
mit ggf. nichtdruckbaren Zeichen

Das zu speichernde Ergebnis:
mit nur druckbaren Zeichen

Und zum Test wieder zurück
zum Ursprungsstring: