微信第一次登录报错第二次可以登录pad block corrupted
发布于 6 年前 作者 xiuyingcao 18620 次浏览 来自 问答

看了一整天,也没找到合适的答案,现在的问题是,开发版每次登录都要登录2次,2次后重新登录都是直接登录成功,间隔一段时间后再登录又要登录2次,正式版出现这个异常情况很少。

看来数据,出现这个问题的时候session_key都是一样的,也就是说第二次也是一样的session_key能登录成功,第一次就不能,不懂为什么?

请求顺序是小程序wx.login,取到了code,iv和encryptedData,连续请求每次都是不一样的,然后使用appid和secret获取session_key、openid等信息,每次连续请求获取的session_key都是一样的。

javax.crypto.BadPaddingException: pad block corrupted

    at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$BufferedGenericBlockCipher.doFinal(Unknown Source)

    at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineDoFinal(Unknown Source)

    at javax.crypto.Cipher.doFinal(Cipher.java:2164)

    at com.xmz1.util.wx.login.WxLoginUtils.getUserInfo(WxLoginUtils.java:64)

    at com.xmz1.mall.service.base.impl.UserServiceImpl.login(UserServiceImpl.java:107)

    at com.xmz1.mall.controller.base.UserController.login(UserController.java:42)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

回到顶部