小程序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、传到服务器解密->拿到 手机号
亲测成功!