Map<String,String>param =new HashMap<String,String>();
//Used to generate signature fields need to be in order
param.put("_input_charset",_input_charset);
param.put("name",name);
String sign=md5.sginMD5(param,key);
//Define a constant class Config
public static final String sign_type="MD5"; .....input_charset="UTF-8";
// sgin method
public static String sginMD5(Map<String,String> map,String key){
String prestr= this.createLinkString(map);//The array parameters are spliced into characters according to the characters of "parameter? Parameter value mode?"
String mysin="";
IF(Config.sign_type.equals("MD5"){
mysign=MD5.sign(prestr,key,Config.input_charset);
}
retrun mysgin;
}
//createLinkString method
public static String createLinkString(Map<String,String>params){
List<String> keys = new ArrayList<String>(params.keySet());
Collections.sort(keys);
String prestr = "";
for(int i=0;i<keys.size();i++){
String key =keys.get(i);
String value=params.get(key);
if(i ==keys.size() -1){
prestr=prestr+key+"="+value;
} elsle {
prestr =prestr+key +"="+value+"&";
}
}
return prestr;
}
//sign method
public static String sign(String text,String key,String input_charset){
text=text+key;
retrun DigestUtils.md5Hex(getContentBytes(text,input_cahrset));//Methods in the MD5 framework
}