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

今天在做跟另一个系统的同步用户接口时,接口使用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,也就是将“+”和“\”换成了“-”和“_”符号,且不适用补位。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值