参数按照参数名ASCII码从小到大排序

参数按照参数名ASCII码从小到大排序--代码如下
/**
     * @Author : lilong
     * @Description :根据签名算法得出签名---参数按照参数名ASCII码从小到大排序(字典序)
     * @Date : 10:55 2018/6/5
     **/
    public String createSign(Map<String, String> parameters) throws Exception {
        String key = "WYzflI4Pv***********4xWalZKD1T";
        StringBuffer sb = new StringBuffer();
        StringBuffer sbkey = new StringBuffer();
        Set es = parameters.entrySet();  //所有参与传参的参数按照accsii排序(升序)
        Iterator it = es.iterator();
        while (it.hasNext()) {
            Map.Entry entry = (Map.Entry) it.next();
            String k = (String) entry.getKey();
            Object v = entry.getValue();
            //空值不传递,不参与签名组串
            if (null != v && !"".equals(v)) {
                sb.append(k + "=" + v + "&");
                sbkey.append(k + "=" + v + "&");
            }
        }
        //MD5加密,结果转换为大写字符
        String sign = WXPayUtil.generateSignature(parameters, key, SignType.MD5);
        return sign;

    }

猜你喜欢

转载自blog.csdn.net/qq_19167629/article/details/82458579