您的位置:首页 > 编程语言 > Java开发

base64加密放入URL引发的问题解决,java.net.MalformedURLException:Illegal character in URL

2015-04-28 18:22 751 查看
今天在做跟另一个系统的同步用户接口时,接口使用base64转换完之后的字符串加入到url中,总是报java.net.MalformedURLException:Illegalcharacter in URL.

用转义字符转换了也不行。

后来发现是引用的base64jar包的问题。

应该引用



import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;



加密方法:

String url = "/shopping/confirm.action?id=1&name=itzhai";
String code = Base64.encode(url.getBytes());

而我开始使用的方法是:

import sun.misc.BASE64Encoder;

BASE64Encoder().encode(url.getBytes());

后来了解到:

1.sun.misc包是Sun公司提供给内部使用的专用API,在java API文档中我们看不到任何有关BASE64影子,不建议使用。

2.Apache还提供了,非标准的实现方式:

1.不再添加回车符。

2.Url Base64,也就是将“+”和“\”换成了“-”和“_”符号,且不适用补位。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐