最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
解决Base64.encodeBase64String换行回车问题
时间:2016-02-23 编辑:简简单单 来源:一聚教程网
在做接口对接的时候老是报签名错误,一步一步跟踪到原来是Base64出的问题,记录下:
据RFC 822规定,每76个字符,还需要加上一个回车换行
就因为这些换行弄得出了问题,解决办法如下,替换所有换行和回车
private static String base64(String str, String charset) throws UnsupportedEncodingException {
String encoded = Base64.encodeBase64String(str.getBytes(charset));
encoded = encoded.replaceAll("[\\s*\t\n\r]", "");
return encoded;
}
小计:在php环境下不存在此问题
/**
* 电商Sign签名生成
* @param data 内容
* @param appkey Appkey
* @return DataSign签名
*/
function encrypt($data, $appkey) {
return urlencode(base64_encode(md5($data.$appkey)));
}
相关文章
- python去掉行尾的换行符方法 01-07
- 文本框内容换行 11-22
- 关于<li>换行 02-28
- 如何实现<A>标记中的Title换行问题 01-26
- SpringBoot测试配置属性与web启动环境解析 10-24
- vue中将el-switch值true、false改为number类型的1和0解析 10-24