文章目录
前言
对接接口的大多数都需要签名参数,一般都是先排序,拼接加上秘钥,后MD5加密就是签名了。
一、签名排序
Map<String,String> param =new HashMap<>();
//你的参数
param.put("a","***");
param.put("b","***");
//参数名按照ASCII码表升序排序
String[] keys = param.keySet().toArray(new String[0]);
Arrays.sort(keys);
二、拼接参数
下面提供了俩种拼接方法。
//拼接为a=***&b=***&apikey=*** StringBuilder sb = new StringBuilder(); for (String key : keys) { sb.append(key+"=").append(params.get(key)+"&"); } sb.append("apikey=").append(你的秘钥); //拼接为a***b***apikey*** StringBuilder sb = new StringBuilder(); for (String key : keys) { sb.append(key).append(params.get(key)); } sb.append(你的秘钥);
三、MD5加密
//小写的MD5 DigestUtils.md5Hex(sb.toString().getBytes("UTF-8")); //大写的MD5 DigestUtils.md5Hex(sb.toString().getBytes("UTF-8")).toUpperCase();
总结
做一下记录,方便拷贝。