Base64.encodeBase64String换行回车解决方法
星期四, 2016-02-18 | Author: Lee | JAVA-and-J2EE | 12,545 views
在做接口对接的时候老是报签名错误,一步一步跟踪到原来是Base64出的问题,记录下:
据RFC 822规定,每76个字符,还需要加上一个回车换行
就因为这些换行弄得出了问题,解决办法如下,替换所有换行和回车
1 2 3 4 5 | 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环境下不存在此问题
1 2 3 4 5 6 7 8 9 | /** * 电商Sign签名生成 * @param data 内容 * @param appkey Appkey * @return DataSign签名 */ function encrypt($data, $appkey) { return urlencode(base64_encode(md5($data.$appkey))); } |
文章作者: Lee
本文地址: https://www.pomelolee.com/1544.html
除非注明,Pomelo Lee文章均为原创,转载请以链接形式标明本文地址
No comments yet.
Leave a comment
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (3)
- Android (6)
- as (3)
- computer (85)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (186)
- linux (143)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 低代码 (1)
- 体味生活 (40)
- 前端 (21)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)