Procházet zdrojové kódy

接口验签加密算法修改

xushengqiang před 4 roky
rodič
revize
b3b2b0f7c6

+ 6 - 4
src/main/java/cn/efunbox/audio/controller/DeviceController.java

@@ -191,6 +191,7 @@ public class DeviceController {
     public void token(HttpServletRequest request, HttpServletResponse response){
         String idChannel = request.getParameter("idChannel");
         String idDevice = request.getParameter("idDevice");
+        String ts = request.getParameter("x-ts");
         String sign = request.getParameter("sign");
 
         if(StringUtils.isBlank(idChannel) || StringUtils.isBlank(idDevice) || StringUtils.isBlank(sign)){
@@ -200,16 +201,17 @@ public class DeviceController {
         Map<String,String> param = new HashMap<>();
         param.put("idChannel",idChannel);
         param.put("idDevice",idDevice);
-        String test = Encrypt.createSHA256Sign(param,signKey);
+        param.put("x-ts",ts);
+        String test = Encrypt.createHMACSHA256(param,signKey);
+        if (StringUtils.isBlank(ts)) {
+            test = Encrypt.createSHA256Sign(param,signKey);
+        }
 
         if (!sign.equalsIgnoreCase(test)) {
             HttpUtil.responseApiCode(request, response, ApiCode.SIGN_FAIL);
             return;
         }
 
-
-
-
         Channel channel = channelService.SearchById(Long.valueOf(idChannel));
         if(Objects.isNull(channel)){
             HttpUtil.responseApiCode(request, response, ApiCode.CHANNEL_NOT_FOUND_ERROR);

+ 4 - 1
src/main/java/cn/efunbox/audio/utils/Encrypt.java

@@ -185,7 +185,10 @@ public class Encrypt {
         Map<String,String> param = new HashMap<>();
         param.put("idChannel","100103");
         param.put("idDevice","10.31.49.16");
-        param.put("x-ts","159559185715");
+        String sign1 = Encrypt.createSHA256Sign(param, "IhOTiTyMLDNNLFuP");
+        log.info(sign1);
+
+        param.put("x-ts","159584214730");
         log.info(JSONObject.toJSONString(param));
         String sign = Encrypt.createHMACSHA256(param,"IhOTiTyMLDNNLFuP");
         log.info(sign);