import{_ as n,c as a,o as s,a as p}from"./app.2005ae41.js";const g='{"title":"\u7B7E\u540D","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u7B7E\u540D","slug":"\u7B7E\u540D"}],"relativePath":"views/interfaceRules/sign.md"}',t={},o=p(`
\u4E3A\u4E86\u9632\u6B62API\u8C03\u7528\u8FC7\u7A0B\u4E2D\u6570\u636E\u88AB\u6076\u610F\u7BE1\u6539\uFF0C\u8C03\u7528\u4EFB\u4F55\u4E00\u4E2AAPI\u90FD\u9700\u8981\u6309\u7167\u89C4\u5219\u8FDB\u884C\u7B7E\u540D\uFF0C\u5F00\u653E\u5E73\u53F0\u670D\u52A1\u7AEF\u4F1A\u6839\u636E\u540C\u4E00\u89C4\u5219\u5BF9\u7B7E\u540D\u8FDB\u884C\u9A8C\u8BC1\uFF0C\u7B7E\u540D\u4E0D\u5408\u6CD5\u7684\u8BF7\u6C42\u5C06\u4F1A\u88AB\u62D2\u7EDD\u3002
appSecret=test001 \u7CFB\u7EDF\u53C2\u6570: appId=100010 timeStamp=1651215937000 \u4E1A\u52A1\u53C2\u6570: shopName=\u597D\u53C8\u591A\u8D85\u5E02 empty=
\u53C2\u6570\u62FC\u63A5\u6210\u5B57\u7B26\u4E32A: appId=100010&shopName=\u597D\u53C8\u591A\u8D85\u5E02&timeStamp=1651215937000
\u5B57\u7B26\u4E32A\u7684\u672B\u5C3E\u62FC\u63A5appSecret, \u7EC4\u88C5\u6210\u5B57\u7B26\u4E32B: appId=100010&shopName=\u597D\u53C8\u591A\u8D85\u5E02&timeStamp=1651215937000&appSecret=test001
\u5B57\u7B26\u4E32B\u8FDB\u884CMD5\u8FD0\u7B97\u5F97\u5230\u5B57\u7B26\u4E32C: MD5(appId=100010&shopName=\u597D\u53C8\u591A\u8D85\u5E02&timeStamp=1651215937000&appSecret=test001)
\u5B57\u7B26\u4E32C\u8F6C\u6210\u5168\u5927\u5199, \u5F97\u5230\u7B7E\u540DsignValue: MD5(appId=100010&shopName=\u597D\u53C8\u591A\u8D85\u5E02&timeStamp=1651215937000&appSecret=test001).toUpperCase()
\u7B7E\u540D\u7B97\u6CD5\u5982\u4E0B(Java\u4EE3\u7801\u793A\u4F8B)
private static String getSignValue(Map<String, Object> paramMap, String appSecret) {
Set<String> keySet = paramMap.keySet();
StringBuilder param = new StringBuilder(20 * keySet.size());
String[] keys = keySet.toArray(new String[keySet.size()]);
Arrays.sort(keys);
try {
for (String key : keys) {
Object value = paramMap.get(key);
// \u6392\u9664\u503C\u4E3Anull\u7684\u60C5\u51B5
if (value != null) {
param.append(URLEncoder.encode(key, "UTF-8")).append("=").append(value).append("&");
}
}
param.append("appSecret").append("=").append(URLEncoder.encode(appSecret, "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return Md5Util.md5(param.toString()).toUpperCase();
}