欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 微信小程序加密数据解密的java实现

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:738

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:509

HTML5自适应律师工作室类网

2020-04-04   浏览:502

HTML5影视传媒文化公司类网

2020-05-12   浏览:497

微信小程序加密数据解密的java实现

发布时间:2020-11-15  

首先借鉴了两篇文章:

 

首先吐槽一下,微信小程序这个设计,其实密文中包含的用于开发的有用信息并不是很多。

解密后的类似:

 

 

{"openId":"oy9H90Nqxxxxxxxxxxx0BJmuw",

 

"nickName":"xxxxxxxxx",

 

"gender":1,

 

"language":"zh_CN",

 

"city":"city",

 

"province":"province",

 

"country":"country",

 

"avatarUrl":"https://wx.qlogo.cn/mmopen/vi_32/xxxxxxxxOcvbibeJxx0",

 

"watermark":{"timestamp":timestamp,"appid":"wx58b6xxxxxxxxx627"

 

}

解密需要登录的时候 提供的几个参数:

密文:encryptedData

session_key

偏移向量 iv

登录的几个东西如何获取这里简单说下:

session_ID的获取:wx.login()函数的返回里面包含了CODE.利用这个CODE,到这个地址去交换:

https://api.weixin.qq.com/sns/jscode2session?grant_type=authorization_code&js_code=CODE&appid=APPID&secret=APP_SRCRET。

iv和encryptedData的获取:wx.getUserInfo()的调用的时候,同时设置属性withCredentials: true,

 

wx.getUserInfo({ withCredentials: true, success: function(res) { console.log(res) that.globalData.userInfo = res.userInfo typeof cb == "function" && cb(that.globalData.userInfo) } })

就可以获取到所有的参数。

Java侧实现解密需要如下的包:

bcprov-jdk15on-157.jar ----主要是AES解码

commons-codec-1.10.jar ----主要是base64编码

核心代码:

 

 

[java] view plain copy