加签demo
demo
java
/**
* 计算sign签名
*
* @param jsonObject
* @param genKey
* @return
*/
public static String calculateSign(JSONObject jsonObject, String genKey) {
String pathvalue = json2pathValue(jsonObject);
pathvalue = pathvalue + "&gen_key=" + genKey;
pathvalue = pathvalue.replaceAll("\\\\r\\\\n","\\\\n").replaceAll("\\\\n","\\\\r\\\\n");
String sign = DigestUtils.md5DigestAsHex(pathvalue.getBytes(StandardCharsets.UTF_8));
return sign;
}
- ```
/**
* JSON对象转为网址传参格式(按key的首字母从小到大排序)
* @param jsonObject
* @return
*/
public static String json2pathValue(JSONObject jsonObject) {
Map map = jsonObject.toJavaObject(Map.class);
Setset = map.keySet();
ListkeyList = new ArrayList<>(set);
Listcollect = keyList.stream().sorted().collect(Collectors.toList());
StringBuilder stringBuilder = new StringBuilder();
for (String s : collect) {
String value = "";
if(CheckUtils.isObjectEmpty(map.get(s))){
value = "";
}else{
value =map.get(s).toString();
}
stringBuilder.append(s).append("=").append(value).append("&");
}
stringBuilder.deleteCharAt(stringBuilder.lastIndexOf("&"));
return stringBuilder.toString();
}
```
易语言
点击下载
最后修改时间: 3 年前