微信小程序手机授权报错: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

相关推荐
cs_dn_Jie10 分钟前
钉钉 H5 微应用 手机端调试
前端·javascript·vue.js·vue·钉钉
开心工作室_kaic44 分钟前
ssm068海鲜自助餐厅系统+vue(论文+源码)_kaic
前端·javascript·vue.js
有梦想的刺儿1 小时前
webWorker基本用法
前端·javascript·vue.js
cy玩具1 小时前
点击评论详情,跳到评论页面,携带对象参数写法:
前端
编程千纸鹤1 小时前
高校宿舍信息管理系统小程序
小程序·宿舍管理小程序
说私域2 小时前
基于开源 AI 智能名片 S2B2C 商城小程序的视频号交易小程序优化研究
人工智能·小程序·零售
qq_390161772 小时前
防抖函数--应用场景及示例
前端·javascript
John.liu_Test3 小时前
js下载excel示例demo
前端·javascript·excel
Yaml43 小时前
智能化健身房管理:Spring Boot与Vue的创新解决方案
前端·spring boot·后端·mysql·vue·健身房管理
PleaSure乐事3 小时前
【React.js】AntDesignPro左侧菜单栏栏目名称不显示的解决方案
前端·javascript·react.js·前端框架·webstorm·antdesignpro