收藏
回答

必然的解密失败问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug decryptData 客户端 6.5.3 2.2.3

登录过程中,点击授权按钮获得iv,encryptedData,再调用wx.login获取code,然后用这三个参数解密100%失败.

但是我再进行第二次授权,这时用第一次的code和第二次的iv,encryptedData却能解密成功,这是为什么


最后一次编辑于  2018-12-06  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • 微盟
    微盟
    2018-12-06

    解密需要的是appId、sessionKey、encryptedData、iv吧,你失败 具体的错误信息是什么?

    2018-12-06
    赞同
    回复 4
    • morganfly
      morganfly
      2018-12-06

      我用node解密的报错是throw new Error('Illegal Buffer'),后来后台改了一下就通了,但是后台又说没改相关的.

      而且我想了一下逻辑,应该是在因onLoad时就调用wx.login(),把code存在页面上,在点击授权按钮后再用这个code带密文和加密方式来进行解密才对.不知道为什么在获取后iv和encryptedData再获取code也可以解密成功

      2018-12-06
      回复
    • 微盟
      微盟
      2018-12-06回复morganfly

      后端解密真正用到的是sessionKey,你这种情况估计是sessionKey无效的


      2018-12-06
      回复
    • 微盟
      微盟
      2018-12-06回复morganfly

      还有 不是每次都要去login,失效了再去login

      2018-12-06
      回复
    • morganfly
      morganfly
      2018-12-06回复微盟

      应该和这个有关系,但是很迷的,按文档是不会百分百失败的,反正现在已经成功了,就好了

      2018-12-06
      回复