古詩詞大全網 - 藝術簽名 - 待簽名參數按照字段名的ascii碼從小到大排序 怎麽理解

待簽名參數按照字段名的ascii碼從小到大排序 怎麽理解

private?String?getSign(Map<String,?String>?params)?{

Map<String,?String>?sortMap?=?new?TreeMap<String,?String>();

sortMap.putAll(params);

//?以k1=v1&k2=v2...方式拼接參數

StringBuilder?builder?=?new?StringBuilder();

for?(Map.Entry<String,?String>?s?:?sortMap.entrySet())?{

String?k?=?s.getKey();

String?v?=?s.getValue();

if?(StringUtils.isBlank(v))?{//?過濾空值

continue;

}

builder.append(k).append("=").append(v).append("&");

}

if?(!sortMap.isEmpty())?{

builder.deleteCharAt(builder.length()?-?1);

}

return?Md5Util.md5Encode(builder.toString()).toUpperCase();

}

將所有參數放入treeMap中(默認升序),然後循環拼接後md5加密後即可。