签名生成
签名流程:
请求body中参数按照首字母顺序排序,参数与值用
=
进行拼接,多个参数用&
依次拼接为字符串使用HmacSHA256算法用秘钥(APPSECRET)对字符串进行签名得到sign参数
MchCreateOrderDto mchOrderDto = new MchCreateOrderDto();
JSONObject mchOrderJson = SONObject.from(mchOrderDto);
Map<String, Object> sortedMap = new TreeMap<>(mchOrderJson);
StringBuilder sb = new StringBuilder();
for (Map.Entry<String, Object> entry : sortedMap.entrySet()) {
sb.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
}
String signStr = sb.substring(0, sb.length() - 1);
HMac hmac = SecureUtil.hmac(HmacAlgorithm.HmacSHA256, token.getBytes());
String sign = hmac.digestHex(signStr);
最后更新于