微信小程序之用户数据解密

微信小程序之用户数据解密,第1张

经常看到有点的小伙伴在群里问小程序用户数据解密流程,所以打算写一篇关于小程序用户敏感数据解密教程;

加密过程微信服务器完成,解密过程在小程序和自身服务器完成,即由 encryptData 得到如下数据:

准备知识:

以上3点对于理解解密流程非常重要

根据官方文档,我梳理了大致的解密流程,如下:

重点在6、7、8三个环节。

AES解密三个参数:

服务端解密流程:

下面结合小程序实例说明解密流程:

最后的效果如下:

如果你的小程序没有绑定微信开放平台,解密的数据中不包含unionid参数

小程序绑定微信开放平台连接

从解密的数据看,算得上敏感的数据只有appid;个人觉得openid不是敏感数据,每个用户针对每个公众号会产生一个安全的openid;openid只有在appid的作用域下可用。除非你的appid也泄露了。

那么可以从解密数据得到appid,微信小程序团队是何用意呢?还是前面那句话,openid脱离了appid就什么都不是,openid和appid一起为了方便小程序开发者做到不同小程序应用之间用户区分和隔离,同时能够将微信用户体系与第三方业务体系结合。

所以我认为敏感数据解密的主要用处不是解密后回传给客户端,而是在服务端将微信用户信息融入到自身业务当中。

电脑微信登入小程序数字信封解密失败是回调中调用wx.login登录,会刷新登录态。。此时服务器使用code换取的sessionKey不是加密时使用的sessionKey,导致解密失败。解决方法是开发者提前进行login。或者在回调中先使用checkSession进行登录态检查,避免login刷新登录状态。

1、 点击某个按钮,d出请求微信授权界面。

2、点击允许按钮,获取用户微信绑定的手机号与openId

3、 请求后端接口,实现登录。

微信公众平台--->登陆--->开发--->开发管理--->开发设置 查看APPID、secret

在把上面获取的appid session_key encryptedData iv传入以下方法中,得到最后解密的信息

解密后的信息


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7851880.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存