测试时,并没有测出该问题,到了生产环境才出现这个问题。

经过排查,主要是由于测试时,都是jdk8 的Base64 统一编码,解码;而生产环境是,不同的Base64编码,jdk8 Base64解码,这就会出现问题!

因为在jdk7中,Base64编码包含换行,而在jdk8中,不包含换行,解码就会出错。

解决办法:

1.使用apache common包中的org.apache.commons.codec.binary.Base64类进行编码和解码;

2.编码和解码使用统一jdk版本;

3.编码之后或解码之前去除换行符;

推荐第一种,简单粗暴。

相关文章:

  • 2022-12-23
  • 2021-07-10
  • 2021-11-14
  • 2022-03-02
  • 2022-12-23
  • 2021-09-12
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-04
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案