猜测大概率是微信步数团队拿到的session_key只存1分钟,之后这个session_key虽然在wx.login的会话里是有效的,但在微信步数那边已经无效了,所以人家官网上写了,每次调用wx.getWeRunData之前必须先调用wx.login,调用后的一分钟内获取步数才可以正常解密。但是要小心,wx.login是有调用次数限制的,要做好相应处理。
解密微信步数问题?调用wx.qx.login获取session_key ;再通过wx.qy.checkSession验证是未过期状态,通过后台解密步数数据一直报错如下javax.crypto.BadPaddingException: pad block corruptedat 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:2121)at com.dehui.wechatsteps.utils.wxUtils.decryptNew(wxUtils.java:128)at com.dehui.wechatsteps.utils.wxUtils.main(wxUtils.java:161) 之前测试时通过wx.login 获取openid和session_key 是可以正常解密的。请帮忙看看 ,谢谢
2021-11-01