小程序
小游戏
企业微信
微信支付
扫描小程序码分享
开发要在登陆时,解密encryptedData,来获得手机号
在第一次登录时会报错javax.crypto.BadPaddingException: pad block corrupted后面再次登录,就能成功解密,返回手机号,过一段时间再次登录会再次报错有没有前辈遇到过这个问题求解答
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
所以 楼主 你最后是怎么处理这个问题的
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
获取微信用户绑定的手机号,需先调用wx.login接口
https://developers.weixin.qq.com/miniprogram/dev/api/getPhoneNumber.html?search-key=%E6%89%8B%E6%9C%BA%E5%8F%B7
谢谢,解答
一般如果 正常获取加密数据 那就是 session key 问题 。
是不是获取手机号后调用过 wx.login
前端在wx.login里面调用的java接口获取手机号
问题就在wx.login这里
wx.login有几率更新session_key
所以谨慎使用
就是说 getPhoneNumber 是新的session_key
但 wx.login后 有几率 把新的session_key 更新的 导致 getPhoneNumber的 是旧的了
第一次登录解密失败,第二次录解密成功,两次的session_key一样的,iv不同
所以不知道你的代码逻辑
和有没有调用过wx.login
和 调用wx.login 与 getPhoneNumber 的顺序
不能判断 哪里出问题
大部分都是 session_key 更新导致的
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
所以 楼主 你最后是怎么处理这个问题的
获取微信用户绑定的手机号,需先调用wx.login接口
https://developers.weixin.qq.com/miniprogram/dev/api/getPhoneNumber.html?search-key=%E6%89%8B%E6%9C%BA%E5%8F%B7
谢谢,解答
一般如果 正常获取加密数据 那就是 session key 问题 。
是不是获取手机号后调用过 wx.login
前端在wx.login里面调用的java接口获取手机号
问题就在wx.login这里
wx.login有几率更新session_key
所以谨慎使用
就是说 getPhoneNumber 是新的session_key
但 wx.login后 有几率 把新的session_key 更新的 导致 getPhoneNumber的 是旧的了
第一次登录解密失败,第二次录解密成功,两次的session_key一样的,iv不同
所以不知道你的代码逻辑
和有没有调用过wx.login
和 调用wx.login 与 getPhoneNumber 的顺序
不能判断 哪里出问题
大部分都是 session_key 更新导致的
谢谢,解答