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

相关推荐
uhakadotcom2 分钟前
Caddy Web服务器初体验:简洁高效的现代选择
前端·面试·github
前端菜鸟来报道4 分钟前
前端react 实现分段进度条
前端·javascript·react.js·进度条
花楸树28 分钟前
前端搭建 MCP Client(Web版)+ Server + Agent 实践
前端·人工智能
wuaro28 分钟前
RBAC权限控制具体实现
前端·javascript·vue
专业抄代码选手33 分钟前
【JS】instanceof 和 typeof 的使用
前端·javascript·面试
用户00798136209733 分钟前
6000 字+6 个案例:写给普通人的 MCP 入门指南
前端
用户876128290737438 分钟前
前端ai对话框架semi-design-vue
前端·人工智能
干就完了141 分钟前
项目中遇到浏览器跨域前端和后端解决方案以及大概过程
前端
我是福福大王43 分钟前
前后端SM2加密交互问题解析与解决方案
前端·后端
实习生小黄1 小时前
echarts 实现环形渐变
前端·echarts