Éviter les sauts de ligne dans chiffré et chiffré chaîne d'URL

Je suis en train de mettre en œuvre une chaîne simple codeur à dissimule certaines parties d'une chaîne d'URL (pour les empêcher d'être sali par un utilisateur). Je suis en utilisant le code d'à peu près identique à l'échantillon de l' JCA guide, à l'exception de:

  • à l'aide DES (en supposant que c'est un peu plus rapide que AES, et nécessite une clé plus petite) et
  • Base64 fr/décodage de la chaîne pour s'assurer qu'elle reste en sécurité pour une URL.

Pour des raisons que je comprends pas, la chaîne de sortie se retrouve avec des retours à la ligne (qui je suppose ne fonctionne pas. Je ne peux pas comprendre ce qui cause cela. Des Suggestions sur quelque chose de semblable qui est plus facile ou des pointeurs vers des ressources d'autres à lire? Je suis à la recherche de tous les cryptographie références un peu au-dessus de ma tête (et overkill), mais une simple ROT13 mise en œuvre ne fonctionne pas comme je veux traiter un plus grand jeu de caractères (et ne veulent pas perdre de temps à mettre en place quelque chose susceptible d'avoir des problèmes avec d'obscurs personnages que je n'ai pas pensé).

D'entrée d'échantillon (pas de saut de ligne):

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

Exemple de Sortie (les sauts de ligne comme indiqué ci-dessous):

GstikIiULcJSGEU2NWNTpyucSWUFENptYk4m5lD8RJl8l1CuspiuXiE9a07fUEAGM/tC7h0Vzus+
jAH6cT4Wtz2RUlBdGf8WtQxVDKZVOzKwi84eQh2kZT9T3KomlnPOu2owJ/2RAEvG+QuGem5UGw==

mon coder extrait de:

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);
  • avez-vous essayez juste de revenir de l'encodage de l'op et de voir si cela fonctionne ?
  • où est-ce que BASE64Encoder classe viennent de?
  • J'ai été importation de soleil.misc.BASE64Decoder, que j'ai trouvé grâce à ce post n'est pas une bonne idée.
  • Pour référence, si vous souhaitez éviter de apache commons mise en œuvre, il y a un autre léger, open source, mise en œuvre dans le code source.biz/base64coder/java
InformationsquelleAutor milletron | 2012-04-23