小程序bizdata_decrypt解密encryptedDat

2021-04-03  本文已影响0人  晓函

小程序,后台用python,解密方法,官方的bizdata_decrypt
用sessionkey、iv解密encryptedData。

症状

比如绑定手机,大部分用户都正确,少数部分出错。

具体报错

解码小程序用户信息错误:'utf-8' codec can't decode byte 0xd6 in position 0: invalid continuation byte

原因

session_key失效/不正确,导致解密出来的是乱码

解决

因为wx.checkSession检测结果不一定正确。
所以我们每次有需要获取原始encryptedData之前,都应该先使用wx.login,获取到最新sessionkey,然后再通过getPhoneNumber/getUserInfo等获取加密数据encryptedData和iv,再把sessionkey和encryptedData、iv都传到服务器解密,这样就绝对正确。

流程:
1、wx.login->拿到sessionkey
2、wx.getPhoneNumber->拿到encryptedData
3、传到服务器解密->拿到 手机号

亲测成功!

上一篇下一篇

猜你喜欢

热点阅读