準備用Java做一個微信二次開發(fā)項目,把流程寫在這里吧。
我們提供的服務有:成都網站制作、做網站、微信公眾號開發(fā)、網站優(yōu)化、網站認證、贛榆ssl等。為超過千家企事業(yè)單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的贛榆網站制作公司
第一篇,做微信請求驗證
需要導入庫: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.獲得隨機數(shù) String nonce = request.getParameter("nonce"); //4.獲得隨機字符串 String echostr = request.getParameter("echostr"); System.out.println("獲得微信簽名的加密字符串:"+signature); System.out.println("獲得時間戳信息:"+timestamp); System.out.println("獲得隨機數(shù):"+nonce); System.out.println("獲得隨機字符串:"+echostr); PrintWriter out = response.getWriter(); //驗證請求確認成功原樣返回echostr參數(shù)內容,則接入生效,成為開發(fā)者成功,否則失敗 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三個參數(shù)進行排序 String[] str = new String[]{token,timestamp,nonce}; Arrays.sort(str); //2.將三個參數(shù)字符串拼接成一個字符串 StringBuilder buff = new StringBuilder(); for(int i=0;i>>4) & 0X0F]; temp[1] = digit[mByte & 0X0F]; String str = new String(temp); return str; } }
第一天就做了這些,完成了微信請求驗證的功能。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。