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

相关推荐
秋意钟7 分钟前
Element UI日期选择器默认显示1970年解决方案
前端·javascript·vue.js·elementui
EasyNVR36 分钟前
基于WebRTC与AI大模型接入EasyRTC:打造轻量级、高实时、强互动的嵌入式音视频解决方案
运维·服务器·微信·小程序·webrtc·p2p·智能硬件
我命由我1234544 分钟前
微信小程序 - 自定义实现分页功能
前端·微信小程序·小程序·前端框架·html·html5·js
程序员黄同学1 小时前
请谈谈 Vue 中的 key 属性的重要性,如何确保列表项的唯一标识?
前端·javascript·vue.js
繁依Fanyi2 小时前
巧妙实现右键菜单功能,提升用户操作体验
开发语言·前端·javascript·vue.js·uni-app·harmonyos
前端御书房2 小时前
前端防重复请求终极方案:从Loading地狱到精准拦截的架构升级
前端·javascript
web182854825122 小时前
nginx 部署前端vue项目
前端·vue.js·nginx
zy0101012 小时前
HTML标签
前端·css·html
程序员黄同学2 小时前
解释 Vue 中的虚拟 DOM,如何通过 Diff 算法最小化真实 DOM 更新次数?
开发语言·前端·javascript
蓝谷芮济2 小时前
二:前端发送POST请求,后端获取数据
前端