测试时,并没有测出该问题,到了生产环境才出现这个问题。
经过排查,主要是由于测试时,都是jdk8 的Base64 统一编码,解码;而生产环境是,不同的Base64编码,jdk8 Base64解码,这就会出现问题!
因为在jdk7中,Base64编码包含换行,而在jdk8中,不包含换行,解码就会出错。
解决办法:
1.使用apache common包中的org.apache.commons.codec.binary.Base64类进行编码和解码;
2.编码和解码使用统一jdk版本;
3.编码之后或解码之前去除换行符;
推荐第一种,简单粗暴。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步