问题描述: 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[])得到的编码字符串是不带换行符的


本文探讨了Base64编码中出现换行符的问题,这是由于遵循RFC822规范导致的。文章提供了两种解决方案:一是通过正则表达式去除换行符,二是使用Apache的commons-codec库,其提供的Base64.encodeBase64String方法生成的编码字符串不含换行符。
915

被折叠的 条评论
为什么被折叠?



