获得过 0 次赞
回答过的问题获得 0 次赞
分享过的文章/案例获得 0 次赞
评论与回复获得 0 次赞
我这也碰到了,在小程序页长时间停留(2分钟左右),然后调用wx.login,然后去授权获取用户手机号,这时服务端解密就会出错,出错后checksession也是Sucess的,很奇怪的问题
微信小程序获取手机号码解密失败[代码][代码]<button open-type="getPhoneNumber" ></button> 报错:javax.crypto.BadPaddingException: pad block corrupted
2020-11-06我这也碰到了,在小程序页长时间停留(2分钟左右),然后调用wx.login,然后去授权获取用户手机号,这时服务端解密就会出错,出错后checksession也是Sucess的,很奇怪的问题
微信小程序手机号解密失败流程是这样的:初次加载app.js,调用wx.login()去获取code,将code发给自己服务器获取一个sid,缓存这个sid。在手机号授权的时候,先调用wx.checkSession()去判断微信sessionKey是否过期,过期就重新调登录流程,没有过期就获取encryptedData,iv和sid,发送给后台去解密。 但会存在这种情况,如果今天我进入小程序,然后关掉。再隔2天使用小程序,再去授权手机号,后台报解密失败!后台解密代码都一样,我以为是微信sessionKey过期了,但是,微信说sessionKey过期时间是30天,而且我检查了代码,wx.checkSession()返回success,表示登录态未过期,但还是解密失败,这是为什么啊?
2020-11-06