收藏
回答

解密微信步数问题?

调用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 是可以正常解密的。请帮忙看看 ,谢谢




回答关注问题邀请回答
收藏

3 个回答

  • 智國
    智國
    2021-11-01

    猜测大概率是微信步数团队拿到的session_key只存1分钟,之后这个session_key虽然在wx.login的会话里是有效的,但在微信步数那边已经无效了,所以人家官网上写了,每次调用wx.getWeRunData之前必须先调用wx.login,调用后的一分钟内获取步数才可以正常解密。但是要小心,wx.login是有调用次数限制的,要做好相应处理。

    2021-11-01
    有用
    回复 1
    • 姚大猫🐅
      姚大猫🐅
      2022-09-29
      确实如此,在开发者工具,一直有效,到了手机端测试就不行了,sessionKey只有1分钟有效,所以必须先调用wx.login,再调步数才能正常解密。。。。。
      2022-09-29
      回复
  • Atwood.
    Atwood.
    发表于移动端
    2021-04-21
    大哥,这个问题后来有解决吗
    2021-04-21
    有用
    回复 1
    • 姚大猫🐅
      姚大猫🐅
      2022-09-29
      同问
      2022-09-29
      回复
  • Devin🤨
    Devin🤨
    2020-08-27

    大哥们帮帮忙啊!卡死了

    2020-08-27
    有用
    回复
登录 后发表内容
问题标签