From b9c3e1e106efa25ed3308c590a7bbbb1cbbb34ed Mon Sep 17 00:00:00 2001 From: feijinping Date: Thu, 2 Feb 2023 11:13:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=85=AC=E4=BC=97=E5=8F=B7?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E8=AE=A4=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cyl/external/WechatUtil.java | 21 +++++++++++++ .../cyl/h5/controller/WechatController.java | 31 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 ruoyi-mall/src/main/java/com/cyl/external/WechatUtil.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/h5/controller/WechatController.java diff --git a/ruoyi-mall/src/main/java/com/cyl/external/WechatUtil.java b/ruoyi-mall/src/main/java/com/cyl/external/WechatUtil.java new file mode 100644 index 0000000..da76b32 --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/external/WechatUtil.java @@ -0,0 +1,21 @@ +package com.cyl.external; + +import org.apache.commons.codec.digest.DigestUtils; + +import java.util.Arrays; + +public class WechatUtil { + public static boolean validParam(String signature, String... arr) { + Arrays.sort(arr); + StringBuilder sb = new StringBuilder(); + String[] var2 = arr; + int var3 = arr.length; + + for(int var4 = 0; var4 < var3; ++var4) { + String a = var2[var4]; + sb.append(a); + } + + return signature.equals(DigestUtils.sha1Hex(sb.toString())); + } +} diff --git a/ruoyi-mall/src/main/java/com/cyl/h5/controller/WechatController.java b/ruoyi-mall/src/main/java/com/cyl/h5/controller/WechatController.java new file mode 100644 index 0000000..0656759 --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/h5/controller/WechatController.java @@ -0,0 +1,31 @@ +package com.cyl.h5.controller; + +import com.cyl.external.WechatUtil; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; + +/** + * h5/微信 + */ +@RestController +@RequestMapping("") +public class WechatController { + /** + * 微信公众号服务器认证 + * @return + */ + @GetMapping("/no-auth/wechat-server-auth") + public String getHomeConfig(HttpServletRequest request) { + String signature = request.getParameter("signature"); + String nonce = request.getParameter("nonce"); + String timestamp = request.getParameter("timestamp"); + String echostr = request.getParameter("echostr"); + if (WechatUtil.validParam(signature, "BLU9Jo7vo", timestamp, nonce)) { + return echostr; + } + return "err"; + } +}