收藏
回答

拿到微信返回的code,iv,encryptedData,后台解密失败,有截图看

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug button 客户端 6.7.3 2.3.0

这个我们后来重置消息秘钥后就恢复了,但我们确认没有改过消息秘钥,而且在大部分都报错的时候,还有部分用户是可以正常进行业务的。

所以我们希望咱们微信的技术人员帮忙查一下是什么原因

这是后台报错

最后一次编辑于  2018-11-01
回答关注问题邀请回答
收藏

4 个回答

  • 半寸灰
    半寸灰
    2018-11-01

    请检查逻辑    获取到加密数据后  不要调用   wx.login   以code  获取 session_key   不然有几率解密失败


    在回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态。

    2018-11-01
    有用 1
    回复 1
    • 洋葱
      洋葱
      2018-11-01

      这套解密运行1年多了都没有改过,早上突然报错,一会后又自动好了

      2018-11-01
      回复
  • 与我所思与我所求
    与我所思与我所求
    2020-11-07

    能解密微信code 的加一下我 有偿求解密

    2020-11-07
    有用
    回复
  • 吴永强
    吴永强
    2018-11-01

    解密流程是这样:


    • wx.login 获取code;

    • 把code传给后台,请求微信接口拿session_key;

    • wx.getUserInfo获取加密数据;

    • 加密数据传给后台,使用第二步拿到的session_key来解密。


    之前我们也遇到这问题了,按已上流程调整就再也没有出过无法解密的错误,

    一般来说解密出问题,是因为第三步拿的解密数据和第二步的session_key不对应导致;

    最近微信小程序的热点接口改动比较频繁,有些老逻辑就不太适用了

    2018-11-01
    有用
    回复 1
    • 2019-09-19
      现在用button了,这个方案不适用了吧,第二步和第三步中间隔一段比较长的时间
      2019-09-19
      回复
  • 2018-11-01

    看着什么都已经拿到了啊,openid和session_key都打印出来了,下面的报错应该是后台自己代码出错了吧

    2018-11-01
    有用
    回复
登录 后发表内容