社区
微信开发
帖子详情
求救,java解析不了小程序的密文(encryptedData ),目的是获取unionid
romanitc
2018-06-14 01:52:08
小程序官方文档I没有提供java语言的解析程序,网上找了很多方法都解析不了
...全文
1411
1
打赏
收藏
求救,java解析不了小程序的密文(encryptedData ),目的是获取unionid
小程序官方文档I没有提供java语言的解析程序,网上找了很多方法都解析不了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qq_33951270
2018-07-23
打赏
举报
回复
public static JSONObject getUserInfo(String encryptedData, String sessionKey, String iv){
// 被加密的数据
byte[] dataByte = Base64.decode(encryptedData);
// 加密秘钥
byte[] keyByte = Base64.decode(sessionKey);
// 偏移量
byte[] ivByte = Base64.decode(iv);
try {
// 如果密钥不足16位,那么就补足. 这个if 中的内容很重要
int base = 16;
if (keyByte.length % base != 0) {
int groups = keyByte.length / base + (keyByte.length % base != 0 ? 1 : 0);
byte[] temp = new byte[groups * base];
Arrays.fill(temp, (byte) 0);
System.arraycopy(keyByte, 0, temp, 0, keyByte.length);
keyByte = temp;
}
// 初始化
Security.addProvider(new BouncyCastleProvider());
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding","BC");
SecretKeySpec spec = new SecretKeySpec(keyByte, "AES");
AlgorithmParameters parameters = AlgorithmParameters.getInstance("AES");
parameters.init(new IvParameterSpec(ivByte));
cipher.init(Cipher.DECRYPT_MODE, spec, parameters);// 初始化
byte[] resultByte = cipher.doFinal(dataByte);
if (null != resultByte && resultByte.length > 0) {
String result = new String(resultByte, "UTF-8");
return JSONObject.parseObject(result);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
java
解密微信
小程序
encrypted
Data
获取
union
id
遇坑
未关注微信
小程序
的主体公众号时,通过wx.getUserInfo方式
获取
union
id
解密过程中踩坑记录 坑一:
java
x.crypto.BadPaddingException: pad block corrupted 原因:sessionKey与
encrypted
Data
,iv不匹配,解决:wx.login在wx.getUserInfo之前调用 坑二:
java
.lang.Illeg...
Java
实现微信
小程序
获取
union
ID
前言:微信开发平台为开发者提供open
Id
用来区分用户的唯一性,但是open
Id
只是在独立的应用内是唯一的,如果开发者拥有多个移动应用、网站应用、和公众帐号(包括
小程序
),可通过
Union
ID
来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括
小程序
),用户的
Union
ID
是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,
Union
ID
是相同的。 微信官方文档: https://developers.weixin.qq.com/miniprogr.
Java
对微信
小程序
userInfo中
encrypted
Data
解密
0x01 分析 同一主体下微信
小程序
和微信公众号下,同一个用户在不同的公众平台下open
id
是不同的,但是
union
id
是相同的,因此若需要创建同主体跨公众平台的系统时候,用户的
union
id
一定要记录下来。我遇到的场景是
小程序
已经上线,但是公众号还没有推广,但是未来的运营计划是根据
小程序
的用户行为在微信公众号进行模板消息推送,因此需要首先收集微信
小程序
用户的
union
id
。 要收集
union
i...
JAVA
解密微信
小程序
用户信息
encrypted
Data
方案
JAVA
解密微信
小程序
用户信息
encrypted
Data
方案 首先我相信当各位大佬看到这个文章的时候,应该看过很多关于
java
解密微信
小程序
用户信息的方案了。 但是总会遇到一些问题,比如代码复制过来,导入正确的包也会遇到的问题拉~,这里我就发布一个自己遇到的问题,希望能帮助后面的人,这个坑很大哦~ 废话不多说,贴代码 这个AES解密工具包,放在Util包下 import
java
.s...
java
获取
小程序
中用户的
union
Id
的三种方式
前提条件: 想要
获取
uu
id
,必须几个
小程序
或者公众号在同一个主体之下,要不然没有uu
id
,只会生成用户的open
id
https://open.weixin.qq.com 第一种实现方式:使用weixin-
java
-miniapp实现微信
小程序
登录接口 个人认为代码最为整洁 maven 依赖 <!--微信开源封装sdk--> <dep...
微信开发
3,143
社区成员
3,831
社区内容
发帖
与我相关
我的任务
微信开发
微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,通过二次开发可以将公众账号由一个媒体型营销工具转化成提供服务的产品。
复制链接
扫一扫
分享
社区描述
微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,通过二次开发可以将公众账号由一个媒体型营销工具转化成提供服务的产品。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章