Evitar saltos de línea en la cadena de URL codificada y codificada

Estoy tratando de implementar un codificador de cadena simple para ofuscar algunas partes de una cadena de URL (para evitar que un usuario las elimine). Estoy usando un código casi idéntico al de la muestraGuía de JCA, excepto:

usando DES (asumiendo que es un poco más rápido que AES, y requiere una clave más pequeña) yBase64 es / decodifica la cadena para asegurarse de que permanece segura para una URL.

Por razones que no puedo entender, la cadena de salida termina con saltos de línea, que supongo que no funcionarán. No puedo averiguar qué está causando esto. ¿Sugerencias sobre algo similar que sea más fácil o sugerencias a otros recursos para leer? Estoy encontrando todas las referencias de criptografía un poco por encima de mi cabeza (y exceso), pero una implementación simple de ROT13 no funcionará ya que quiero lidiar con un conjunto de caracteres más grande (y no quiero perder tiempo implementando algo que probablemente tengo problemas con personajes oscuros que no pensé).

Entrada de muestra (sin salto de línea):

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

Salida de muestra (saltos de línea como se muestra a continuación):

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

mi fragmento de codificación:

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

Respuestas a la pregunta(4)

Su respuesta a la pregunta