From f5dbc33f3ca131e6e6fe95743c3b41ae2c224c21 Mon Sep 17 00:00:00 2001 From: "Stormeye.Wu" Date: Sat, 1 Sep 2018 07:08:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=B6=88=E6=81=AF=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E9=AA=8C=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxUserGrantController.java | 33 +++++++++ .../main/java/com/simple/utils/CheckUtil.java | 69 +++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100755 mallinkService/src/main/java/com/simple/utils/CheckUtil.java diff --git a/mallinkCApi/src/main/java/com/simple/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/simple/controller/WxUserGrantController.java index aeea87bec..286d2ef8c 100755 --- a/mallinkCApi/src/main/java/com/simple/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/simple/controller/WxUserGrantController.java @@ -18,6 +18,7 @@ import com.simple.domain.po.WxCUserCar; import com.simple.service.WxAppinfoService; import com.simple.service.WxCUserCarService; import com.simple.service.WxCUserService; +import com.simple.utils.CheckUtil; import com.simple.utils.IPUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -32,6 +33,9 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -319,5 +323,34 @@ public class WxUserGrantController extends BaseController { return new ResultData(Result.SUCCESS,"获取查询成功", list); } + /** + * 微信消息服务验证 + * @param response + * @param request + * @throws IOException + */ + @RequestMapping(value = "/signature") + @ResponseBody + public void signature(HttpServletResponse response, HttpServletRequest request) throws IOException { + + + String signature = request.getParameter("signature"); + String timestamp = request.getParameter("timestamp"); + String nonce = request.getParameter("nonce"); + String echostr = request.getParameter("echostr"); + + logger.warn("收到的微信服务验证信息"+signature+"\n"+timestamp+"\n"+nonce+"\n"+echostr); + PrintWriter out = response.getWriter(); + /* + // 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败 + if (CheckUtil.checkSignature(wp.getToken(), signature, timestamp, nonce)) { + out.print(echostr); + logger.warn("微信服务验证成功===================="+echostr); + System.out.println("微信服务验证成功!"); + } + */ + out.close(); + } + } diff --git a/mallinkService/src/main/java/com/simple/utils/CheckUtil.java b/mallinkService/src/main/java/com/simple/utils/CheckUtil.java new file mode 100755 index 000000000..8e50c39cf --- /dev/null +++ b/mallinkService/src/main/java/com/simple/utils/CheckUtil.java @@ -0,0 +1,69 @@ +package com.simple.utils; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Arrays; + +public class CheckUtil { + //token为自己定义的一个字符串 + public static boolean checkSignature(String token, String signature,String timestamp,String nonce) { + String[] arr = new String[]{token,timestamp,nonce}; + + //排序 + Arrays.sort(arr); + + //生成字符串 + StringBuffer sb = new StringBuffer(); + for(int i=0; i>> 4) & 0X0F]; + tempArr[1] = Digit[b & 0X0F]; + + String s = new String(tempArr); + return s; + } +}