admin
2021-06-24 df4441322e9801c102299451da41d7c40b4502e9
service-daylucky/src/main/java/com/ks/daylucky/aspect/ApiClientSignAspect.java
@@ -30,21 +30,29 @@
    public Object validSign(ProceedingJoinPoint joinPoint) throws Throwable {
        ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder
                .getRequestAttributes();
        PrintWriter out = servletContainer.getResponse().getWriter();
        HttpServletRequest request = servletContainer.getRequest();
        Map<String, String[]> paramsMap = request.getParameterMap();
        Map<String, String[]> pm = request.getParameterMap();
        Map<String, String> paramsMap = new HashMap<>();
        for (Iterator<String> its = pm.keySet().iterator(); its.hasNext(); ) {
            String key = its.next();
            paramsMap.put(key, pm.get(key)[0]);
        }
        List<String> dataSource = new ArrayList<>();
        for (Iterator<String> its = paramsMap.keySet().iterator(); its.hasNext(); ) {
            String key = its.next();
            if (!key.equalsIgnoreCase("sign")) {
                dataSource.add(key + "=" + paramsMap.get(key).toString());
                dataSource.add(key + "=" + paramsMap.get(key));
            }
        }
        Collections.sort(dataSource);
        String src = StringUtil.concat(dataSource, "&") + SECRET;
        String sign = StringUtil.Md5(src);
        String sign = StringUtil.Md5(StringUtil.concat(dataSource, "&") + SECRET);
        if (!sign.equalsIgnoreCase(paramsMap.get("sign") + "")) {
        if (!sign.equalsIgnoreCase(paramsMap.get("sign"))) {
            PrintWriter out = servletContainer.getResponse().getWriter();
            //签名出错
            out.print(JsonUtil.loadFalseResult(-1, "签名出错"));
            out.close();