传入信息:摘要,请求参数
算法:请求参数按字典排序,key+value拼接字符串+摘要
如请求参数a=1,b=2 ,b1=3 ,c2=4,摘要songml,
拼接的字符串为a1b2b13c24songml,我们那这个作为 新的摘要信息,之后在进行rsa认证。
/**
*
*/
package com.hlmedicals.app.util;
import java.security.MessageDigest;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
/**
* @author dell
*
*/
public class Digest {
public static byte[] getDigest(String secretKey, Map<String,String> params) throws Exception{
Set<String> keySet = params.keySet();
TreeSet<String> sortSet = new TreeSet<>();
sortSet.addAll(keySet);
String keyValueStr = "";
Iterator<String> it = sortSet.iterator();
while(it.hasNext()){
String key = it.next();
String value = params.get(key);
keyValueStr += key + value;
}
keyValueStr = keyValueStr + secretKey;
MessageDigest md = MessageDigest.getInstance("SHA-1");
return md.digest(keyValueStr.getBytes("utf-8"));
}
}