问题描述: base64进行加密出现换行符
问题原因
根据RFC822规定,BASE64Encoder编码每76个字符,还需要加上一个回车换行
部分Base64编码的java库还按照这个标准实行
解决方法:
1.去掉换行符和特殊符号
String sign = signStr.replaceAll("[\\s*\t\n\r]", "");
2.引入apache的jar包
maven配置代码
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
换用Apache的 commons-codec.jar
Base64.encodeBase64String(byte[])得到的编码字符串是不带换行符的