加解密
<p>1.参数解密
String decodeStr = SecretUtil.decryptStringAES(args[0].toString(), “password”);
2.生成签名(当entry.getValue()值不为null为json字串时,请注意保留json串中的null值)</p>
<p>public static String createSign(Object object) {
Map map = null;
if (object instanceof String) {
map = JSONObject.parseObject(object.toString(), Map.class);
} else {
map = JSONObject.parseObject(JSONObject.toJSONString(object, SerializerFeature.WriteMapNullValue), Map.class);
}</p>
<pre><code> StringBuilder sb = new StringBuilder();
//使用TreeMap对key按照字典升序排序
TreeMap<String, Object> sortedMap = new TreeMap<>(map);
//拼接为key=value&key2=value2形式
for (Map.Entry<String, Object> entry : sortedMap.entrySet()) {
if(entry.getValue()==null){
//空值不参与签名
continue;
}
sb.append(entry.getKey()).append("=");
if (entry.getValue() instanceof String) {
sb.append(entry.getValue()).append("&");
} else {
sb.append(JSONObject.toJSONString(entry.getValue(), SerializerFeature.WriteMapNullValue)).append("&");
}
}
return SecretUtil.ToMd5(sb.toString(), "UTF-8", null);
}</code></pre>
<p>3.参数加密
String resultStr = SecretUtil.encryptStringAES(JSONObject.toJSONString(yeaLinkBaseResp,SerializerFeature.WriteMapNullValue), “password”);</p>