zoukankan      html  css  js  c++  java
  • MD5签名问题

    签名传入的参数中包含数组类型的参数,String[] xy = new String[]{”116.288418”, “39.832535”}; 加密过程中需要转换为字符串Arrays.toString(xy)

     public static Map<String, Object> addCommonParams(Map<String, Object> reqMap,Object object){
            if(object instanceof PXOrderInfoDTO){
                PXOrderInfoDTO vo = (PXOrderInfoDTO)object;
                reqMap.put("imei", vo.getImei());
                reqMap.put("version", vo.getVersion());
                reqMap.put("platform", vo.getPlatform());
                reqMap.put("ch", vo.getCh());
                reqMap.put("app_id", vo.getApp_id());
                reqMap.put("client_id", vo.getClient_id());
                reqMap.put("timestamp", vo.getTimestamp());
                reqMap.put("token", vo.getToken1());
            }else if(object instanceof PXRequestVO){
                PXRequestVO vo = (PXRequestVO)object;
                reqMap.put("imei", vo.getImei());
                reqMap.put("version", vo.getVersion());
                reqMap.put("platform", vo.getPlatform());
                reqMap.put("ch", vo.getCh());
                reqMap.put("app_id", vo.getApp_id());
                reqMap.put("client_id", vo.getClient_id());
                reqMap.put("timestamp", vo.getTimestamp());
                reqMap.put("token", vo.getToken1());
            }
            return reqMap;
        }
        
        /**
         * 验证码验证签名
         * @param paramsMap
         * @return
         */
        public static String sign (Map<String, Object> paramsMap){
            paramsMap.put("clinetSecret", "54e4b395976c872d65ce71216fc0fefb");
            paramsMap.remove("sign");
            List<String> keys = new ArrayList<String>(paramsMap.keySet());
            Collections.sort(keys);
            List<String> keyValueList = new ArrayList<String>();
            for (String key : keys) {
                Object value = paramsMap.get(key);
                if (value != null) {
                    keyValueList.add(key + "=" + value);
                }
            }
            String queryString="";
            for(String obj :keyValueList){
                queryString+=obj+"&";
            }
            log.info("加密参数串:"+queryString.substring(0,queryString.length()-1));
            String sign = PxMD5Util.getMD5Str(queryString.substring(0,queryString.length()-1));
            return sign;
        }
  • 相关阅读:
    DP专集
    FJUT ACM 1212 集训队的药药切克闹
    Codecraft-18 and Codeforces Round #458 (Div. 1 + Div. 2, combined) C. Travelling Salesman and Special Numbers (组合数学)
    牛客网 Wannafly挑战赛8 C-小C打比赛 (状压DP)
    HDU 1260 TICKETS (简单DP)
    汇编入门学习笔记 段内转移和段间转移
    汇编入门学习笔记 循环程序设计
    汇编入门学习笔记 分支程序举例
    汇编入门学习笔记 16X+Y
    POJ
  • 原文地址:https://www.cnblogs.com/yangjiming/p/9400569.html
Copyright © 2011-2022 走看看