BASE64 decode报错, msg=Illegal base64 character a
原来 java.util.Base64 这个方法不对导致,decode错误!
解决方案
之所以出现这样的问题,是由于在 BASE64 加密的过程中,引错了 jar 包,不应该使用 Sun 提供的内部包,也就是 sun.misc,后来了解到 sun.misc 包是 Sun 公司提供给内部使用的专用 API,在 java API 文档中我们看不到任何有关 BASE64 影子,不建议使用。
经过测试,我发现,除了使用 sun.misc 包的 BASE64 报错外,其他两个都可以正常运行,这两个包括:
- com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
- org.apache.commons.codec.binary.Base64;
这两个提供的实现都可以正常运行。至于这两个的加密方法嘛,百度一下下吧。。。