找回密码
 立即注册
搜索

bug反馈 官方cipher接口使用base64默认编码风格导致出错

1
回复
958
查看
[复制链接]

2

主题

4

帖子

30

积分

 楼主| 2023-5-17 00:57:42 显示全部楼层 |阅读模式

由于官方cipher接口使用base64默认编码风格(即 Base64.DEFAULT),导致加密编码后有多余的换行符存在,

在我使用cipher加密后的内容请求HTTP 接口(header请求头中),多余的换行符会导致 Unexpected char 0x0a at 76 in HTTP-Key value 报错,如果能让cipher换成 Base64.NO_WRAP 编码,即没这个问题,

问题是,如何设置 cipher 的 base64 编码风格来解决这个问题?

        //Base64.DEFAULT:这个参数是默认,使用默认的方法来加密,转换后的字符串带有换行符

        //Base64.NO_WRAP:表示转换后的字符串去掉所有的换行符

资料参考地址:

1、https://stackoverflow.com/questions/43026163/unexpected-char-0x0a-in-header-value-when-using-okhttp-client-in-android

2、https://doc.quickapp.cn/features/system/cipher.html#cipheraesobject-1060

回复

使用道具 举报

2

主题

4

帖子

30

积分

 楼主| 2023-5-17 01:08:33 显示全部楼层

Base64.DEFAULT当字符串过长(一般超过76)时会自动在中间加一个换行符,字符串最后也会加一个换行符

资料参考:https://blog.csdn.net/janronehoo/article/details/46774885

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册