この記事は主に Java WeChat 二次開発の最初の記事、Java WeChat リクエスト検証機能を詳しく紹介します。興味のある方は參考にしてください
Java を使用して WeChat 二次開発を行うための準備をする プロジェクトを開発する、ここにプロセスを書き留めます。
最初の記事、WeChat リクエストの検証を?qū)g行します
ライブラリをインポートする必要があります: 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 * <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.獲得隨機數(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ù)內(nèi)容,則接入生效,成為開發(fā)者成功,否則失敗 if(ValidationUtil.checkSignature(signature, timestamp, nonce)){ out.print(echostr); } out.close(); out = null; } }
2 番目のステップ: 新しいパッケージ 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 * <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三個參數(shù)進行排序 String[] str = new String[]{token,timestamp,nonce}; Arrays.sort(str); //2.將三個參數(shù)字符串拼接成一個字符串 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()); //將字節(jié)數(shù)組轉(zhuǎn)換成字符串 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; } /** * 將字節(jié)數(shù)組轉(zhuǎn)換成十六進制字符串 * @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; } /** * 將一個字節(jié)轉(zhuǎn)換為十六進制字符串 * @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; } }
初日にこれを?qū)g行し、WeChat リクエスト検証機能を完了しました。
【関連推奨事項】
1. WeChatパブリックアカウントプラットフォームのソースコードダウンロード
以上がWeChatリクエスト検証の二次開発の詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。
このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責(zé)任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事
グラスワンダービルドガイド|ウマゴサメはかなりダービーです
1 か月前
By Jack chen
<??>:森の99泊 - すべてのバッジとそれらのロックを解除する方法
4週間前
By DDD
Uma Musume Pretty Derby Bannerスケジュール(2025年7月)
1 か月前
By Jack chen
船と墓のためのRimworld Odyssey溫度ガイド
3週間前
By Jack chen
Windowsセキュリティは空白であるか、オプションを表示しません
1 か月前
By 下次還敢

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)