十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問題一站解決
準(zhǔn)備用Java做一個(gè)微信二次開發(fā)項(xiàng)目,把流程寫在這里吧。
我們提供的服務(wù)有:成都網(wǎng)站制作、做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、贛榆ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的贛榆網(wǎng)站制作公司
第一篇,做微信請(qǐng)求驗(yàn)證
需要導(dǎo)入庫(kù):servlet-api.jar
第一步:新建包c(diǎn)om.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:微信請(qǐng)求驗(yàn)證類
*/ public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("get請(qǐng)求。。。。。。"); //1.獲得微信簽名的加密字符串 String signature = request.getParameter("signature"); //2.獲得時(shí)間戳信息 String timestamp = request.getParameter("timestamp"); //3.獲得隨機(jī)數(shù) String nonce = request.getParameter("nonce"); //4.獲得隨機(jī)字符串 String echostr = request.getParameter("echostr"); System.out.println("獲得微信簽名的加密字符串:"+signature); System.out.println("獲得時(shí)間戳信息:"+timestamp); System.out.println("獲得隨機(jī)數(shù):"+nonce); System.out.println("獲得隨機(jī)字符串:"+echostr); PrintWriter out = response.getWriter(); //驗(yàn)證請(qǐng)求確認(rèn)成功原樣返回echostr參數(shù)內(nèi)容,則接入生效,成為開發(fā)者成功,否則失敗 if(ValidationUtil.checkSignature(signature, timestamp, nonce)){ out.print(echostr); } out.close(); out = null; } }
第二步:新建包c(diǎn)om.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:微信請(qǐng)求校驗(yàn)工具類
*/ public class ValidationUtil { private static String token = "wangtianze"; public static boolean checkSignature(String signature,String timestamp,String nonce){ //1.將token,timestamp,nonce三個(gè)參數(shù)進(jìn)行排序 String[] str = new String[]{token,timestamp,nonce}; Arrays.sort(str); //2.將三個(gè)參數(shù)字符串拼接成一個(gè)字符串 StringBuilder buff = new StringBuilder(); for(int i=0;i>>4) & 0X0F]; temp[1] = digit[mByte & 0X0F]; String str = new String(temp); return str; } }
第一天就做了這些,完成了微信請(qǐng)求驗(yàn)證的功能。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。