记录一下遇到的问题:
前端传递密码前用公钥加密,后端使用私钥解密,之前一直都正常,某一次tomcat升级后,突然报解密错误。
解决方案:
经过分析后,应该是tomcat升级后,之前用的Base64 jar包发生了变化(根据RFC822规定,base64编码每76个字符,还需要加上一个回车换行,部分Base64编码的java库还按照这个标准实行,应该是升级后的base64按照这个标准了),导致公钥中出现了换行符,采用另一种Base64 jar包(org.apache.commons.codec.binary.Base64),解决了换行问题,之后解密正常。