一、背景
在各種系統(tǒng)需要加簽的時
一般都會把參與簽名的數(shù)據(jù)按get請求參數(shù)拼接起來
并且要求有序,這個方法會比較方便
二、實現(xiàn)
2.1 拼接為有序的get請求類字符串
public String getSortedStr(Map<String, String> unSortedStr) {
String sortedStr= unSortedStr
.entrySet()
.stream()
.filter(entry -> !StringUtil.isEmpty(entry.getValue()))
.sorted(Map.Entry.comparingByKey())
.map(entry -> entry.getKey() + "=" + entry.getValue())
.collect(Collectors.joining("&"));
return sortedStr;
}
2.2 把get類參數(shù)字符串轉(zhuǎn)為map
private Map<String,String> getMapData(String getStr){
String[] strs = getStr.split("&");
HashMap<String, String> dataMap = new HashMap<>(16);
for (int i = 0; i < strs.length; i++) {
String[] str = strs[i].split("=");
dataMap.put(str[0], str[1]);
}
return dataMap;
}
還有其他一些其他方面的后期補充