本文共 1163 字,大约阅读时间需要 3 分钟。
@ResponseBody @RequestMapping(value = "/f") public void getUser(Model model, HttpServletRequest request, HttpServletResponse response) throws IOException { PrintWriter print; /* * 规则描述: *1. 将token、timestamp、nonce三个参数进行字典序排序 *2. 将三个参数字符串拼接成一个字符串进行sha1加密 *3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信 */ String signature = request.getParameter("signature"); String timestamp = request.getParameter("timestamp"); String nonce = request.getParameter("nonce"); String echostr = request.getParameter("echostr"); String token = "beokwithanything"; Lista = new ArrayList (); a.add(token); a.add(timestamp); a.add(nonce); Collections.sort(a); String hashcode = DigestUtils.shaHex(a.get(0)+a.get(1)+a.get(2)); System.out.println(signature); System.out.println(hashcode); // 通过检验signature对请求进行校验: // 若校验成功则原样返回 echostr,表示接入成功,否则接入失败 if (hashcode.equals(signature)){ print = response.getWriter(); print.write(echostr); print.flush(); } }
转载地址:http://zkgxi.baihongyu.com/