Java如何实现微信请求验证功能

这篇文章将为大家详细讲解有关Java如何实现微信请求验证功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

成都创新互联公司是一家专注于成都做网站、网站建设与策划设计,沙湾网站建设哪家好?成都创新互联公司做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:沙湾等地区。沙湾做网站价格咨询:13518219792

需要导入库: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;  } }

关于“Java如何实现微信请求验证功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


文章名称:Java如何实现微信请求验证功能
文章起源:http://scyanting.com/article/ppheog.html