这篇文章主要为大家详细介绍了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
OdnShop(原企站帮微商城系统,更名为OdnShop),基于ASP.NET 4.0+Access开发的轻量级微信商城系统,前台简洁美观,后台容易操作。系统容易部署,空间成本低,大部分的几百块一年的虚拟主机均可支持(具体请咨询空间商),适合要求不高,预算不多的小商店,小企业初次尝试微信线上销售产品,目前基本的核心功能,包括微信登陆/支付,产品管理,购物车与订单管理,分享获取积分,积分礼品兑换功能
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; } }
第一天就做了这些,完成了微信请求验证的功能。
【相关推荐】
1. 微信公众号平台源码下载
2. 微信投票源码










