From 04f09e52ffd4681bdfd85e51acd3da0d1280c3d3 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 16 四月 2022 16:07:10 +0800 Subject: [PATCH] bug修复 --- src/main/java/com/yeshi/buwan/aspect/SignAspect.java | 55 ++++++++++++++++++++++++++++++++----------------------- 1 files changed, 32 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/aspect/SignAspect.java b/src/main/java/com/yeshi/buwan/aspect/SignAspect.java index 32c541f..f263e45 100644 --- a/src/main/java/com/yeshi/buwan/aspect/SignAspect.java +++ b/src/main/java/com/yeshi/buwan/aspect/SignAspect.java @@ -9,21 +9,14 @@ import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.springframework.stereotype.Component; -import org.springframework.util.MultiValueMap; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; -import org.springframework.web.multipart.MultipartResolver; -import org.springframework.web.multipart.commons.CommonsMultipartResolver; -import org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest; import org.yeshi.utils.StringUtil; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; import java.io.PrintWriter; import java.util.*; @@ -55,28 +48,25 @@ //濡傛灉鏄疉ndroid鏂扮増鏈垯璋冪敤鏂扮殑绛惧悕鏂规硶 //甯冧父3.8.7涔嬪悗璋冪敤鏂扮殑绛惧悕鏂规硶 + if (acceptData != null && "android".equalsIgnoreCase(acceptData.getPlatform()) && acceptData.getVersion() >= 105) { - Map<String, String[]> params = request.getParameterMap(); - List<String> list = new ArrayList<>(); + String sign = getNewSign(request, "8888B&*@-uWan88/',@@^"); - //绛惧悕 - for (Iterator<String> its = params.keySet().iterator(); its.hasNext(); ) { - String key = its.next(); - if ("sign".equalsIgnoreCase(key)) - continue; - list.add(key + "=" + params.get(key)[0]); - } - - Collections.sort(list); - String str = StringUtil.concat(list, "&"); - String sign = StringUtil.Md5(str + "8888B&*@-uWan88/',@@^"); if (!sign.equalsIgnoreCase(acceptData.getSign())) { if (out == null) out = response.getWriter(); out.print(JsonUtil.loadFalseJson("绛惧悕閿欒")); return null; } - + } else if ("com.hanju.video.ios".equalsIgnoreCase(acceptData.getPackage())) { + //IOS闊╁墽绛惧悕鏂瑰紡 + String sign = getNewSign(request, "8888B&*@-hanJu88/',@@^"); + if (!sign.equalsIgnoreCase(acceptData.getSign())) { + if (out == null) + out = response.getWriter(); + out.print(JsonUtil.loadFalseJson("绛惧悕閿欒")); + return null; + } } else { if (!Utils.signIsRight(request)) { if (out == null) @@ -109,10 +99,29 @@ detailSystem = systemService.getDetailSystemByPackage(acceptData.getChildPackage()); acceptData.setChildDetailSystem(detailSystem); } - - return joinPoint.proceed(args); } + public static String getNewSign(HttpServletRequest request, String signKey) { + Map<String, String[]> params = request.getParameterMap(); + List<String> list = new ArrayList<>(); + + //绛惧悕 + for (Iterator<String> its = params.keySet().iterator(); its.hasNext(); ) { + String key = its.next(); + if ("sign".equalsIgnoreCase(key)) + continue; + list.add(key + "=" + params.get(key)[0]); + } + + Collections.sort(list); + String str = StringUtil.concat(list, "&"); + str+=signKey; + System.out.println("鍔犲瘑鍓嶅瓧绗︿覆锛�"+str); + String sign = StringUtil.Md5(str ); + return sign; + } + + } -- Gitblit v1.8.0