签名排序

public static String creatSign(Map<String, Object> map) {
        if (!map.containsKey("time")){
            map.put("time", Long.toString(System.currentTimeMillis()/1000));
        }
        
        map.put("app_id", ConfigUtil.getSettings("golo.open.appId"));
        map.put("develop_id", ConfigUtil.getSettings("golo.open.developId"));
        
        if (!(map instanceof TreeMap)) {
            map = new TreeMap<>(map);
        }
        
        StringBuffer sb = new StringBuffer();
        for(Entry<String,Object> entry : map.entrySet()) {
            Object value = entry.getValue();
            if(!ObjectUtils.isBlank(value)) {
                value = String.valueOf(value).replaceAll("\\s+","");
                sb.append(entry.getKey()).append("=").append(value).append("&");
            }
        }
        
        if(sb.length() > 0) {
            sb.deleteCharAt(sb.length() - 1);
        }
        
        sb.append(ConfigUtil.getSettings("golo.open.developKey"));
        String sign = MD5Encrypt.encrypt(sb.toString()).toLowerCase();
        
        logger.info("======> signString = [" + sb.toString() + "]");
        logger.info("======> sign = [" + sign + "]");
        
        return sign;
    }

猜你喜欢

转载自my.oschina.net/u/2611678/blog/1923937