微信一物一碼二維碼包解密Java版 微信二維碼包buffer解密Java版
微信一物一碼二維碼包解密Java版 微信二維碼包buffer解密Java版
一、前言
1、在做微信一物一碼解密操作時,關於二維碼包解密操作的描述內容十分簡單,也沒有對應的解密示例,一直糾結著如何實現Java版解密,耽誤了不少時間,故而寫此文記錄下過程。
二、獲取相關資料
1、獲取金鑰key:申請一物一碼通過後,在【微信公眾平臺】,訊息中心可以獲取對應的金鑰。
2、獲取二維碼加密資料,點選獲取 步驟是【2.4 下載二維碼包介面】,略。
三、解密操作
1、使用 WechatUtils 工具類解密操作,全部程式碼這裡 , 核心解密程式碼如下:
/**
* description: 微信一物一碼, 二維碼解密
* @param encrypted
* @param session_key
* @return String
* @version v1.0
* @author w
* @throws Exception
* @date 2020年9月25日 下午4:39:08
* @see https://developers.weixin.qq.com/doc/offiaccount/Unique_Item_Code/Unique_Item_Code_API_Documentation.html#10
*/
public static String qrDecrypt(String encrypted, String key) {
// 實名資料,先進行base64解碼
byte[] encryptedData = Base64.decodeBase64(encrypted);
// key 沒有進行編碼,直接轉換即可
byte[] keyBytes = key.getBytes();
// iv使用加解金鑰 --- iv 根據金鑰生成的
String result = null;
try {
init();
AlgorithmParameters iv = generateIV(keyBytes);
result = new String(decrypt(encryptedData, keyBytes, iv));
} catch (Exception e) {
e.printStackTrace();
}
return result ;
}
2、測試
@Test
public void test() throws Exception {
// 讀取加密檔案資料
BufferedReader bufferedReader = new BufferedReader(new FileReader("buffer2.txt"));
String line ;
StringBuilder sb = new StringBuilder();
while((line = bufferedReader.readLine()) != null) {
sb.append(line);
}
bufferedReader.close();
// 執行解密操作
String key = "您的金鑰";
String qrDecrypt = qrDecrypt(sb.toString(), key);
System.out.println(qrDecrypt);
}
3、解密後資料如下:
和微信提供的解密資料格式一致,解密成功!
參考資料:https://thinkcode.blog.csdn.net/article/details/108801090
相關文章
- 微信小程式:小程式碼、小程式二維碼、普通二維碼微信小程式
- 直播系統搭建,java二維碼 生成二維碼Java
- Java 驗證碼、二維碼Java
- 微信獲取二維碼開發
- 微信二次開發(生成二維碼)
- Java溯源防偽管理系統原始碼,一物一碼二維碼防偽追溯系統原始碼Java原始碼
- 前端頁面中iOS版微信長按識別二維碼的bug前端iOS
- 微信小程式推廣二維碼海報Node.js實現版微信小程式Node.js
- 微信活碼技術如何解決微信群二維碼失效問題
- java實現二維碼生成Java
- 用JAVA自己畫一張二維碼Java
- java:一鍵生成二維碼工具類Java
- 微信二維碼展示系統(PC+WAP)
- .NET生成微信小程式推廣二維碼微信小程式
- Java 新增條碼、二維碼到Word文件Java
- 如何使用Java、Servlet建立二維碼JavaServlet
- APP下載頁二維碼支援識別微信APP
- Python提取支付寶和微信支付二維碼Python
- 二維碼管理平臺 生成二維碼
- 微信服務號分享圖片(包括微信頭像以及二維碼)
- 用java做一個簡單的二維碼Java
- [外掛擴充套件]微信二維碼展示外掛套件
- 生成帶二維碼圖片並通過微信分享
- 獲取微信小程式二維碼並且儲存微信小程式
- Java使用QRGen類庫生成二維碼Java
- 簡單的Java二維碼應用Java
- 幾行程式碼教你解決微信生成海報及二維碼行程
- 【微信開發筆記】掃碼支付之二維碼的處理筆記
- Flutter - 生成二維碼與識別二維碼Flutter
- 幾行程式碼搞定java生成解析二維碼功能行程Java
- iOS 花式二維碼生成和二維碼識別iOS
- Android 二維碼掃描和生成二維碼Android
- Node.JS呼叫企業微信API:生成渠道二維碼Node.jsAPI
- 重磅 | 微信小程式開放長按識別二維碼微信小程式
- 二維碼解析
- 利用微信臨時引數二維碼實現掃碼登入網站網站
- 基於Koa2開發微信二維碼掃碼支付相關流程
- 微信小遊戲程式碼包侵權解決方案升級版遊戲