Map<String,String>param =new HashMap<String,String>();
//用来生成签名字段 需要按顺序
param.put("_input_charset",_input_charset);
param.put("name",name);
String sign=md5.sginMD5(param,key);
//定义一个常量类 Config
public static final String sign_type="MD5"; .....input_charset="UTF-8";
//sgin方法
public static String sginMD5(Map<String,String> map,String key){
String prestr= this.createLinkString(map);//把数组参数 按照 “参数?参数值的模式?”字符拼接成字符
String mysin="";
IF(Config.sign_type.equals("MD5"){
mysign=MD5.sign(prestr,key,Config.input_charset);
}
retrun mysgin;
}
//createLinkString方法
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方法
public static String sign(String text,String key,String input_charset){
text=text+key;
retrun DigestUtils.md5Hex(getContentBytes(text,input_cahrset));//MD5框架里的方法
}