java 实现微信公众号开发服务器认证

 有两种办法

第一种

最简单:

点击提交的时候,微信公众号会给你url发送一个get请求,

里面有个echostr参数直接返回就行了,

第二种:

就是根据微信发过来的签名,然后你把数据加密下,对比下数据,然后把echostr返回回去

直接上代码

 @RequestMapping("/wx")
    @ResponseBody
    public String wxGZHGetMsg(HttpServletRequest request){
    
        // 获取随机数
        String echostr = request.getParameter("echostr");
        // 加密签名
        String signature = request.getParameter("signature");
        //随机数
        String nonce = request.getParameter("nonce");
        //时间戳
        String timestamp = request.getParameter("timestamp");
        // 自己在微信开发那里设置的
        String token ="aaa";
        List<String> list = new ArrayList<>();
        list.add(token);
        list.add(timestamp);
        list.add(nonce);
        Collections.sort(list);
        String join = String.join("", list);
        String s = DigestUtils.sha1DigestAsHex(join);
        System.out.println(s);
        System.out.println(signature);
        return request.getParameter("echostr");
    }

猜你喜欢

转载自blog.csdn.net/qq_39164154/article/details/122114400