微信验证域名

@RequestMapping(value = "/weixin", method = { RequestMethod.POST, RequestMethod.GET }, headers = "Accept=application/xml")
    @ResponseBody
    public String doService(HttpServletRequest servletRequest, WebRequest webRequest,
            HttpServletResponse response, @RequestBody(required = false) String body, Model model) {
        // @RequestParam(value = "barId", required = false)
        // response.setContentType("text/html; charset=UTF-8");

        LOGGER.info("微信通知");
        LOGGER.info(servletRequest.getQueryString());

        String signature = servletRequest.getParameter("signature");
        String timestamp = servletRequest.getParameter("timestamp");
        String nonce = servletRequest.getParameter("nonce");
        String echostr = servletRequest.getParameter("echostr");
        // 加密/校验流程:
        // 1. 将token、timestamp、nonce三个参数进行字典序排序
        // 2. 将三个参数字符串拼接成一个字符串进行sha1加密
        // 3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
        // StringBuilder signBuilder = new StringBuilder().append(nonce)
        // .append(timestamp).append(token);

        String[] arrStr = { token, timestamp, nonce };
        Arrays.sort(arrStr);
        StringBuilder signBuilder = new StringBuilder().append(arrStr[0]).append(arrStr[1]).append(arrStr[2]);
        // DigestUtils.shaHex(signBuilder.toString())

        if (DigestUtils.sha1Hex(signBuilder.toString()).equals(signature)) {
            // resp.getWriter().print(echostr);


            if (StringUtils.isNotBlank(body)) {
            
            }

        }


        return echostr;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值