小编开发的时候就是被最终请求字段值编码坑了,同学们要谨记教训,要看清楚哪里值需要转义哪里不需要哇。
//获取到待签名的字符串,**这里字段的值不需要做编码**
public static String getSignContent(Map<String, String> sortedParams) {
StringBuffer content = new StringBuffer();
List<String> keys = new ArrayList<String>(sortedParams.keySet());
Collections.sort(keys);
int index = 0;
for (int i = 0; i < keys.size(); i++) {
String key = keys.get(i);
String value = sortedParams.get(key);
if (StringUtils.areNotEmpty(key, value)) {
content.append((index == 0 ? "" : "&") + key + "=" + value);
index++;
}
}
return<