Vermeiden von Zeilenumbrüchen in verschlüsselten und verschlüsselten URL-Zeichenfolgen

Ich versuche, einen einfachen Zeichenkettencodierer zu implementieren, um einige Teile einer URL-Zeichenkette zu verschleiern (um zu verhindern, dass sie von einem Benutzer verarscht werden). Ich verwende Code, der fast identisch mit dem Beispiel in der istJCA-Leitfaden, außer:

Verwenden von DES (vorausgesetzt, es ist etwas schneller als AES und erfordert einen kleineren Schlüssel) undBase64 de / decodiert den String, um sicherzustellen, dass er für eine URL sicher bleibt.

Aus Gründen, die ich nicht verstehe, kommt es in der Ausgabe zu Zeilenumbrüchen, von denen ich annehme, dass sie nicht funktionieren. Ich kann nicht herausfinden, was das verursacht. Vorschläge für etwas ähnliches, das einfacher ist, oder Verweise auf andere Ressourcen zum Lesen? Ich finde alle Kryptografiereferenzen etwas überfordert (und überfordert), aber eine einfache ROT13-Implementierung funktioniert nicht, da ich mich mit einem größeren Zeichensatz befassen möchte (und keine Zeit damit verschwenden möchte, wahrscheinlich etwas zu implementieren) habe Probleme mit obskuren Charakteren, an die ich nicht gedacht habe).

Beispieleingabe (kein Zeilenumbruch):

<code>http://maps.google.com/maps?q=kansas&hl=en&sll=42.358431,-71.059773&sspn=0.415552,0.718918&hnear=Kansas&t=m&z=7
</code>

Beispielausgabe (Zeilenumbrüche wie unten gezeigt):

<code>GstikIiULcJSGEU2NWNTpyucSWUFENptYk4m5lD8RJl8l1CuspiuXiE9a07fUEAGM/tC7h0Vzus+
jAH6cT4Wtz2RUlBdGf8WtQxVDKZVOzKwi84eQh2kZT9T3KomlnPOu2owJ/2RAEvG+QuGem5UGw==
</code>

Mein Codefragment:

<code>final Key key = new SecretKeySpec(seed.getBytes(), "DES");
final Cipher c = Cipher.getInstance("DES");
c.init(Cipher.ENCRYPT_MODE, key);
final byte[] encVal = c.doFinal(s.getBytes());
return new BASE64Encoder().encode(encVal);
</code>

Antworten auf die Frage(4)

Ihre Antwort auf die Frage