网站建设的pest分析,注册企业邮箱收费吗,基于jsp网站开发与实现,行业网站开发费用官方文档#xff1a;
接收消息与事件#xff1a;
加密解密文档#xff1a;加解密库下载与返回码 - 文档 - 企业微信开发者中心 下载java样例
加解密库下载与返回码 - 文档 - 企业微信开发者中心 将解压开的代码
‘将文件夹#xff1a;qq\weixin\mp\aes的代码作为工具拷…官方文档
接收消息与事件
加密解密文档加解密库下载与返回码 - 文档 - 企业微信开发者中心 下载java样例
加解密库下载与返回码 - 文档 - 企业微信开发者中心 将解压开的代码
‘将文件夹qq\weixin\mp\aes的代码作为工具拷到项目中 pom文件中加入
!--企业微信中用于加密解码--dependencygroupIdcommons-codec/groupIdartifactIdcommons-codec/artifactId/dependency
编写会回调接口
/*** 企业微信*/
RestController
RequestMapping(/api/qyWx)
public class WxQyController extends BaseController {//tokenpublic final static String TOKEN 企业微信中的;// encodingAESKeypublic final static String ENCODINGAES_KEY 使用自己生成的企业微信自动生成的有问题测试;//企业IDpublic final static String CORP_ID XXXXX;GetMapping(/callback)public void list(HttpServletRequest request, HttpServletResponse response) throws IOException {// 微信加密签名String msg_signature request.getParameter(msg_signature);// 时间戳String timestamp request.getParameter(timestamp);// 随机数String nonce request.getParameter(nonce);// 随机字符串String echostr request.getParameter(echostr);System.out.println(request request.getRequestURL());System.out.println(msg_signature msg_signature);System.out.println(timestamp timestamp);System.out.println(nonce nonce);System.out.println(echostr echostr);PrintWriter out response.getWriter();// 通过检验msg_signature对请求进行校验若校验成功则原样返回echostr表示接入成功否则接入失败String result null;try {WXBizMsgCrypt wxcpt new WXBizMsgCrypt(TOKEN, ENCODINGAES_KEY, CORP_ID);result wxcpt.VerifyURL(msg_signature, timestamp, nonce, echostr);} catch (AesException e) {e.printStackTrace();}if (result null) {result TOKEN;}out.print(result);out.close();out null;}//自主生成EncodingAESKeyRequestMapping(/getEncodingAESKey)public String getEncodingAESKey() {/*** 主要解决有时候直接使用企业微信那边生成的EncodingAESKey会报错* “Last encoded character (before the paddings if any) is a valid base 64 alphabet but not a possible value,** 使用 commons-codec 加密 32 位字符(我是用的 UUID 生成 ID 后去除 -)* 生成一个 EncodingAESKey 替换微信生成的 EncodingAESKey* Base64.encodeBase64String(UUID.randomUUID().toString().replaceAll(-,).getBytes());* 第二步得到一个 44 位字符串,需要去除末尾等号得到 43 位EncodingAESKey,再去企业微信配置此EncodingAESKey*/String str Base64.encodeBase64String(UUID.randomUUID().toString().replaceAll(-,).getBytes());return str;}}