热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

二次开发微信之请求验证

这篇文章主要为大家详细介绍了Java微信二次开发第一篇,Java微信请求验证功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要为大家详细介绍了Java微信二次开发第一篇,Java微信请求验证功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

准备用Java做一个微信二次开发项目,把流程写在这里吧。

第一篇,做微信请求验证

需要导入库:servlet-api.jar

第一步:新建包com.wtz.service,新建类LoginServlet.java

package com.wtz.service;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.wtz.util.ValidationUtil;

/**
 *   @author wangtianze QQ:864620012
 * @date 2017年4月17日 下午8:11:32
 * 

version:1.0

*

description:微信请求验证类

*/ public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("get请求。。。。。。"); //1.获得微信签名的加密字符串 String signature = request.getParameter("signature"); //2.获得时间戳信息 String timestamp = request.getParameter("timestamp"); //3.获得随机数 String nOnce= request.getParameter("nonce"); //4.获得随机字符串 String echostr = request.getParameter("echostr"); System.out.println("获得微信签名的加密字符串:"+signature); System.out.println("获得时间戳信息:"+timestamp); System.out.println("获得随机数:"+nonce); System.out.println("获得随机字符串:"+echostr); PrintWriter out = response.getWriter(); //验证请求确认成功原样返回echostr参数内容,则接入生效,成为开发者成功,否则失败 if(ValidationUtil.checkSignature(signature, timestamp, nonce)){ out.print(echostr); } out.close(); out = null; } }

第二步:新建包com.wtz.util,新建类Validation.java

package com.wtz.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;

/**
 *  @author wangtianze QQ:864620012
 * @date 2017年4月17日 下午8:35:57
 * 

version:1.0

*

description:微信请求校验工具类

*/ public class ValidationUtil { private static String token = "wangtianze"; public static boolean checkSignature(String signature,String timestamp,String nonce){ //1.将token,timestamp,nonce三个参数进行排序 String[] str = new String[]{token,timestamp,nonce}; Arrays.sort(str); //2.将三个参数字符串拼接成一个字符串 StringBuilder buff = new StringBuilder(); for(int i=0;i>>4) & 0X0F]; temp[1] = digit[mByte & 0X0F]; String str = new String(temp); return str; } }

第一天就做了这些,完成了微信请求验证的功能。


推荐阅读
author-avatar
大好
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有