微信小程序手机授权报错:pad block corrupted
微信小程序手机号授权登录,传参至后台解密,大概率都会成功,但是,偶尔会遇到解密失败,报错信息为: javax.crypto.BadPaddingException: pad block corrupted;在此记录一下解决方案。
更改前获取流程:
- 通过getPhoneNumber获取了相应的加密数据
- 然后再调用的wx.login获取code
- 将wx.login获取的code以及 getPhoneNumber获取的数据传入后台解密进行后续操作
更改后获取流程:
- 第一步要先调用的wx.login获取code
- 再通过code取到用户的session_key (本次需求并未需要获取)
- 然后再通过getPhoneNumber获取相应的加密数据
- 最后再用session_key,手机号的加密数据和向量解密获取手机号
需要调换一下wx.login获取code的顺序。这是因为每次调用wx.login后通过code获取的session_key都是新的,所以请求getPhoneNumber之前先请求wx.login。
另也可以通过 wx.checkSession来检查 session_key 是否失效,如果没失效正常流程;如果失效后可再次通过wx.login获取code
原文地址:https://blog.csdn.net/qianqianNingmeng/article/details/137906604
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!