我是靠谱客的博主 落后向日葵,最近开发中收集的这篇文章主要介绍微信一物一码二维码包解密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版 微信二维码包buffer解密Java版的全部内容,希望文章能够帮你解决微信一物一码二维码包解密Java版 微信二维码包buffer解密Java版所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复