/*     */ package cn.com.esgcc.ai.matrix.sdk.util;
/*     */ 
/*     */

import cn.com.esgcc.ai.matrix.sdk.request.NewQueryData;
import cn.com.esgcc.ai.matrix.sdk.request.QueryData;
import cn.com.esgcc.ai.matrix.sdk.util.encrypt.StringUtil;
import cn.com.esgcc.ai.matrix.sdk.util.encrypt.sm2.Sm2Utils;
import cn.com.esgcc.ai.matrix.sdk.util.encrypt.sm3.Sm3Util;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import org.bouncycastle.crypto.InvalidCipherTextException;

import java.util.*;
import java.util.stream.Collectors;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class ParamsUtils
/*     */ {
/*     */   private static final long paramTimeOut = 600000L;
/*     */   public static final int INDEX_NOT_FOUND = -1;
/*     */   
/*     */   static {
/*  28 */     Locale.setDefault(Locale.ENGLISH);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String getUrlParamsByMap(Map<String, String> map) {
/*  46 */     if (map == null) {
/*  47 */       return "";
/*     */     }
/*  49 */     StringBuilder sb = new StringBuilder();
/*  50 */     for (Map.Entry<String, String> entry : map.entrySet()) {
/*  51 */       sb.append((String)entry.getKey() + "=" + (String)entry.getValue());
/*  52 */       sb.append("&");
/*     */     } 
/*  54 */     String s = sb.toString();
/*  55 */     if (s.endsWith("&")) {
/*  56 */       s = substringBeforeLast(s, "&");
/*     */     }
/*  58 */     return s;
/*     */   }
/*     */   public static boolean isEmpty(CharSequence cs) {
/*  61 */     return (cs == null || cs.length() == 0);
/*     */   }
/*     */   public static String substringBeforeLast(String str, String separator) {
/*  64 */     if (isEmpty(str) || isEmpty(separator)) {
/*  65 */       return str;
/*     */     }
/*  67 */     int pos = str.lastIndexOf(separator);
/*  68 */     if (pos == -1) {
/*  69 */       return str;
/*     */     }
/*  71 */     return str.substring(0, pos);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String generateReqSign(Map<String, Object> parameters) {
/*  79 */     String sign = generateSign(parameters);
/*  80 */     String newSign = Sm3Util.generateSM3HASH(sign);
/*  81 */     sign = sign + newSign.substring(0, 5);
/*  82 */     return sign;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String generateReqSign(QueryData queryData) {
/*  90 */     Map<String, Object> singParam = new HashMap<>();
/*  91 */     singParam.put("timestamp", queryData.getTimestamp());
/*  92 */     singParam.put("uuid", queryData.getUuid());
/*  93 */     singParam.put("checkFile", Boolean.valueOf(queryData.isCheckFile()));
/*  94 */     String sign = generateReqSign(singParam);
/*  95 */     return sign;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String generateReqSign(NewQueryData queryData) {
/* 103 */     Map<String, Object> singParam = new HashMap<>();
/* 104 */     singParam.put("timestamp", queryData.getTimestamp());
/* 105 */     singParam.put("uuid", queryData.getUuid());
/* 106 */     singParam.put("checkFile", Boolean.valueOf(queryData.isCheckFile()));
/* 107 */     String sign = generateReqSign(singParam);
/* 108 */     return sign;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String generateReqSign(String json) {
/* 117 */     String sign = Sm3Util.generateSM3HASH(json);
/* 118 */     String newSign = Sm3Util.generateSM3HASH(sign);
/* 119 */     sign = sign + newSign.substring(0, 5);
/* 120 */     return sign;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String generateSign(Map<String, Object> parameters) {
/*     */     try {
/* 129 */       List<String> names = new ArrayList<>();
/* 130 */       parameters.forEach((k, v) -> {
/*     */             if (v != null && !Objects.equals(v, "") && !Objects.equals(k, "sign")) {
/*     */               names.add(k);
/*     */             }
/*     */           });
/*     */ 
/*     */ 
/*     */       
/* 138 */       List sortedNames = (List)names.stream().sorted().collect(Collectors.toList());
/* 139 */       StringBuilder sb = new StringBuilder();
/* 140 */       sortedNames.forEach(n -> sb.append(String.format("%s=%s", new Object[] { n, parameters.get(n) })));
/*     */       
/* 142 */       String sign = Sm3Util.generateSM3HASH(sb.toString().trim());
/* 143 */       return sign;
/* 144 */     } catch (Exception e) {
/* 145 */       return "";
/*     */     } 
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String generateSignArr(Map<String, String[]> parameters) {
/*     */     try {
/* 157 */       List<String> names = new ArrayList<>();
/* 158 */       parameters.forEach((k, varr) -> {
/*     */             if (null != parameters && parameters.size() > 0) {
/*     */               String v = varr[0];
/*     */ 
/*     */               
/*     */               if (v != null && !Objects.equals(v, "") && !Objects.equals(k, "sign")) {
/*     */                 names.add(k);
/*     */               }
/*     */             } 
/*     */           });
/*     */ 
/*     */       
/* 170 */       List sortedNames = (List)names.stream().sorted().collect(Collectors.toList());
/* 171 */       StringBuilder sb = new StringBuilder();
/* 172 */       sortedNames.forEach(n -> sb.append(String.format("%s=%s", new Object[] { n, ((String[])parameters.get(n))[0] })));
/*     */       
/* 174 */       System.out.println(sb);
/* 175 */       String sign = Sm3Util.generateSM3HASH(sb.toString());
/* 176 */       return sign;
/* 177 */     } catch (Exception e) {
/* 178 */       return "";
/*     */     } 
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static boolean verifySignMap(String sign, Map<String, Object> parameter) {
/* 190 */     if (StringUtil.isEmpty(sign) || sign.length() < 5) {
/* 191 */       return false;
/*     */     }
/*     */     
/* 194 */     sign = sign.substring(0, sign.length() - 5);
/* 195 */     String paramSign = generateSign(parameter);
/* 196 */     if (StringUtil.isEmpty(sign) || StringUtil.isEmpty(paramSign)) {
/* 197 */       return false;
/*     */     }
/* 199 */     return sign.equals(paramSign);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static boolean verifySignArr(String sign, Map<String, String[]> parameter) {
/* 211 */     if (StringUtil.isEmpty(sign) || sign.length() < 5) {
/* 212 */       return false;
/*     */     }
/* 214 */     String paramSign = generateSignArr(parameter);
/* 215 */     sign = sign.substring(0, sign.length() - 5);
/* 216 */     if (StringUtil.isEmpty(sign) || StringUtil.isEmpty(paramSign)) {
/* 217 */       return false;
/*     */     }
/* 219 */     return sign.equals(paramSign);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static boolean verifySignJson(String sign, String json) {
/* 230 */     if (StringUtil.isEmpty(sign) || sign.length() < 5) {
/* 231 */       return false;
/*     */     }
/* 233 */     String paramSign = Sm3Util.generateSM3HASH(json);
/* 234 */     sign = sign.substring(0, sign.length() - 5);
/* 235 */     if (StringUtil.isEmpty(sign) || StringUtil.isEmpty(paramSign)) {
/* 236 */       return false;
/*     */     }
/* 238 */     return sign.equals(paramSign);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static boolean verifySign(String sign) {
/* 249 */     if (StringUtil.isEmpty(sign) || sign.length() < 5) {
/* 250 */       return false;
/*     */     }
/* 252 */     String s1 = sign.substring(0, sign.length() - 5);
/* 253 */     String s2 = sign.substring(sign.length() - 5, sign.length());
/* 254 */     String newSign = Sm3Util.generateSM3HASH(s1);
/* 255 */     String subSign = newSign.substring(0, 5);
/* 256 */     return subSign.equals(s2);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static boolean verifyTime(long timestamp) {
/* 265 */     long now = System.currentTimeMillis();
/* 266 */     return (now - 600000L < timestamp);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static JSONObject decrypt(JSONObject jsonObject, String privateKey) {
/* 277 */     List<Object> decryptArr = (List<Object>)jsonObject.getByPath("data.decryptArr", JSONArray.class);
/*     */     
/* 279 */     if (decryptArr != null || decryptArr.size() != 0) {
/* 280 */       decryptArr.stream().distinct().forEach(key -> {
/*     */             try {
/*     */               if (null != jsonObject.getByPath(key.toString())) {
/*     */                 jsonObject.putByPath(key.toString(), Sm2Utils.decrypt(jsonObject.getByPath(String.valueOf(key)).toString(), privateKey));
/*     */               }
/* 285 */             } catch (InvalidCipherTextException e) {
/*     */               e.printStackTrace();
/*     */             } 
/*     */           });
/*     */     }
/*     */     
/* 291 */     return jsonObject;
/*     */   }
/*     */ }


/* Location:              C:\Users\ningj\Desktop\java-sdk-1.0.0-SNAPSHOT\!\cn\com\esgcc\ai\matrix\sd\\util\ParamsUtils.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */