签名传入的参数中包含数组类型的参数,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;
}