我试图实现一个简单的字符串编码器来混淆URL字符串的某些部分(以防止它们被用户弄乱).我使用的代码几乎与JCA指南中的示例相同,除了:
由于我无法理解的原因,输出字符串以换行符结束,我认为这不会起作用.我无法弄清楚造成这种情况的原因.关于类似的东西的建议更容易或指向其他一些资源阅读?我发现所有的密码学参考都超过了我的头脑(并且过度杀伤),但是简单的ROT13实现将无法工作,因为我想处理更大的字符集(并且不想浪费时间实现可能的东西)与我没想到的晦涩字符有问题).
样本输入(无换行符):
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
Run Code Online (Sandbox Code Playgroud)
示例输出(换行符如下所示):
GstikIiULcJSGEU2NWNTpyucSWUFENptYk4m5lD8RJl8l1CuspiuXiE9a07fUEAGM/tC7h0Vzus+
jAH6cT4Wtz2RUlBdGf8WtQxVDKZVOzKwi84eQh2kZT9T3KomlnPOu2owJ/2RAEvG+QuGem5UGw==
Run Code Online (Sandbox Code Playgroud)
我的编码片段:
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);
Run Code Online (Sandbox Code Playgroud)