【支付专区】之微信支付请求数据签名

 

 

/**
     * <p>Desc:微信签名p>
     * <p>参数名ASCII码从小到大排序(字典序)p>
     * @param key weChat sign
     * @param params 参数
     * @return sign
     * @throws Exception
     */
    public static String weChatSign(String key,Map<String,Object> params) throws Exception{
         SortedMap<String,Object> sort=new TreeMap<String,Object>(params);  
         Set<String> keySet = sort.keySet();
         StringBuilder sb = new StringBuilder();
        for (Object k : keySet) {
            sb.append(k ).append("=").append(params.get(k)).append("&");
        }
        sb.append("key=").append(key);
        String s = sb.toString();
        return MD5Utils.encode(s).toUpperCase();
    }

 

转载于:https://www.cnblogs.com/gyjx2016/p/6405699.html

你可能感兴趣的:(【支付专区】之微信支付请求数据签名)