Base64编码换行符 BASE64Decoder出现换行符

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

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值