Unikanie przerw linii w zaszyfrowanym i zakodowanym ciągu URL

Usiłuję zaimplementować prosty koder łańcuchowy, aby zaciemnić niektóre części ciągu URL (aby zapobiec ich zepsuciu przez użytkownika). Używam kodu prawie identycznego z próbką wPrzewodnik JCA, z wyjątkiem:

przy użyciu DES (zakładając, że jest trochę szybszy niż AES i wymaga mniejszego klucza) iBase64 pl / dekodowanie łańcucha, aby upewnić się, że pozostaje bezpieczny dla adresu URL.

Z powodów, których nie rozumiem, ciąg wyjściowy kończy się liniami, które, jak sądzę, nie będą działać. Nie mogę zrozumieć, co to powoduje. Sugestie dotyczące czegoś podobnego, które jest łatwiejsze lub wskazówki do innych zasobów do przeczytania? Odkrywam, że cała kryptografia odnosi się trochę ponad moją głowę (i przesadą), ale prosta implementacja ROT13 nie będzie działać, ponieważ chcę poradzić sobie z większym zestawem znaków (i nie chcę tracić czasu na wdrażanie czegoś, co może mam problemy z nieznanymi postaciami, o których nie pomyślałem).

Przykładowe wejście (bez przerwy linii):

<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>

Przykładowy wynik (podziały wierszy jak pokazano poniżej):

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

mój fragment kodu:

<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>

questionAnswers(4)

yourAnswerToTheQuestion