MD5生成签名结果

这篇博客介绍了如何在Java Web应用中使用MD5算法生成支付宝接口所需的签名。首先创建一个HashMap存储参数,然后按照特定顺序排列并拼接成字符串。接着,通过调用自定义的sginMD5方法,结合MD5.sign方法完成签名过程。整个流程包括对参数进行排序、拼接和MD5加密。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 String key="支付生成的key固定值";  


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框架里的方法

     }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值