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

相关推荐
2501_944525541 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 支出分析页面
android·开发语言·前端·javascript·flutter
李白你好1 小时前
Burp Suite插件用于自动检测Web应用程序中的未授权访问漏洞
前端
刘一说3 小时前
Vue 组件不必要的重新渲染问题解析:为什么子组件总在“无故”刷新?
前端·javascript·vue.js
徐同保3 小时前
React useRef 完全指南:在异步回调中访问最新的 props/state引言
前端·javascript·react.js
刘一说4 小时前
Vue 导航守卫未生效问题解析:为什么路由守卫不执行或逻辑失效?
前端·javascript·vue.js
一周七喜h4 小时前
在Vue3和TypeScripts中使用pinia
前端·javascript·vue.js
weixin_395448915 小时前
main.c_cursor_0202
前端·网络·算法
东东5165 小时前
基于vue的电商购物网站vue +ssm
java·前端·javascript·vue.js·毕业设计·毕设
MediaTea5 小时前
<span class=“js_title_inner“>Python:实例对象</span>
开发语言·前端·javascript·python·ecmascript
梦梦代码精6 小时前
开源、免费、可商用:BuildingAI一站式体验报告
开发语言·前端·数据结构·人工智能·后端·开源·知识图谱