MD5 generates signature result

 String key="Payment generated key fixed value";  


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

     }

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325938554&siteId=291194637