我想实现一个简单的字符串编码器来模糊URL字符串的某些部分(以防止它们被用户弄糊涂)。我使用的代码几乎相同的样品中的JCA guide,不同的是:使用DES避免在加密和编码的URL字符串中换行
- (假设它比AES快一点,需要一个较小的键)
- 的Base64 EN /串来解码确保它对URL保持安全。
由于我无法理解的原因,输出字符串以换行符结束,我认为这是行不通的。我无法弄清楚是什么原因造成的。对类似的东西更容易的建议或指向其他资源的阅读?我发现所有的密码引用都超出了我的想象(而且过度杀伤),但是一个简单的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
样本输出(换行如下所示):
GstikIiULcJSGEU2NWNTpyucSWUFENptYk4m5lD8RJl8l1CuspiuXiE9a07fUEAGM/tC7h0Vzus+
jAH6cT4Wtz2RUlBdGf8WtQxVDKZVOzKwi84eQh2kZT9T3KomlnPOu2owJ/2RAEvG+QuGem5UGw==
我的编码片段:
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);
你是否试图恢复你的编码操作,看看是否有用 ? – Snicolas 2012-04-23 14:34:05
BASE64Encoder类从哪里来? – leonbloy 2012-04-23 14:38:43
@leonbloy我正在导入sun.misc.BASE64Decoder,我发现感谢[这篇文章](http://stackoverflow.com/questions/2267036/work-sun-misc-base64encoder-decoder-for-getting-字节)不是一个好主意。 – milletron 2012-04-23 15:30:03