国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java微信二次開發(一) Java微信請求驗證功能

Java微信二次開發(一) Java微信請求驗證功能

2020-09-18 14:38wangtianze Java教程

這篇文章主要為大家詳細介紹了Java微信二次開發第一篇,Java微信請求驗證功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

準備用Java做一個微信二次開發項目,把流程寫在這里吧。

第一篇,做微信請求驗證

需要導入庫:servlet-api.jar

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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
 * <p>version:1.0</p>
 *  <p>description:微信請求驗證類</p>
 */
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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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
 * <p>version:1.0</p>
 *  <p>description:微信請求校驗工具類</p>
 */
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<buff.length();i++){
   buff.append(str[i]);
  }
  
  //3.進行sha1加密
  MessageDigest md = null;
  String result = "";
  try {
   md = MessageDigest.getInstance("SHA-1");
   byte[] data = md.digest(buff.toString().getBytes());
   
   //將字節數組轉換成字符串
   result = bytesToString(data);
   
   System.out.println("加密后的字符串為:"+result);
   
  } catch (NoSuchAlgorithmException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  return result!=null?(result.equals(signature.toUpperCase())):false;
 }
 
 /**
  * 將字節數組轉換成十六進制字符串
  * @param byteArray
  * @return
  */
 private static String bytesToString(byte[] byteArray){
  String stringDigest = "";
  for(int i=0;i<stringDigest.length();i++){
   stringDigest += byteToHexString(byteArray[i]);
  }
  return stringDigest;
 }
 
 /**
  * 將一個字節轉換為十六進制字符串
  * @param mByte
  * @return
  */
 private static String byteToHexString(byte mByte){
  char[] digit = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
  char[] temp = new char[2];
  
  temp[0] = digit[(mByte>>>4) & 0X0F];
  temp[1] = digit[mByte & 0X0F];
  
  String str = new String(temp);
  return str;
 }
}

第一天就做了這些,完成了微信請求驗證的功能。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 999精品视频 | 中文精品久久 | 亚洲一区免费在线观看 | 在线国产小视频 | 亚洲国产高清在线 | av在线中文 | 日本三级韩国三级三级a级中文 | 国产日韩一区二区 | 亚洲视频免费在线观看 | 久久成人国产精品 | 午夜国产| 欧美视频区 | av免费一区二区 | 亚洲专区在线播放 | 久久国产精品视频 | 国产精品久久久久久久久久免费看 | 国产精品国产三级国产aⅴ中文 | 日韩欧美一区二区三区 | 久久九九国产 | 色乱码一区二区三区网站 | 91tv.com| 日本一区二区三区免费观看 | 日本久久网 | 91视频8mav | 免费一区二区三区四区 | 一级片黄色免费 | 日日撸| 日韩视频在线免费观看 | 亚洲精品无码专区在线播放 | 国产综合亚洲精品一区二 | 美女久久久 | 亚洲一区二区高清 | 色网综合| 欧美浮力 | 日韩欧美在线观看 | 午夜影院免费 | 日韩中文字幕在线观看 | 91精品久久久久久久91蜜桃 | 国产人成在线观看 | 国产亚洲精品久久久久久久久 | 日韩一区二区精品视频 |