分享到群后,拿分享的shareTicket调用一下wx.getShareInfo,得到encryptedData和iv,再和登录时换取到的sessionkey一起解密得到openGId。

大多数情况都能正确解密出来。

偶尔会出现解密失败的情况。这中间sessionkey并没有发生变化过(因为没有重新登录)。请问有可能是什么问题呢?

一开始怀疑是小游戏一段时间后sessionkey过期了,于是改为调用wx.getShareInfo前先用wx.checkSession判断有无过期,如果过期则先执行wx.login刷新sessionkey。

但是,当wx.checkSession返回未过期时,用sessionkey解密encryptedData也会失败。



展开全部
收起
2回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Cora

    20人对此回答表示赞同

    @林超@白开水

    展开
    20
    9回复
    发布于 6年前

    评论(9)

    收起评论

    • panshh6 2019-02-21 18:14

      请问一下!没有服务端的游戏能解密这个数据吗?

      回复
    • 多面体 2019-02-23 13:20

      请问是怎么拿到shareTicket的呢?

      回复
    • SweetyAriana 2019-02-25 20:09

      这个地方是因为解密失败,导致json串不对了。

      回复
    • 荣光不复 2019-02-27 21:32

      看错误信息,像是没有拿完整的json串去解,是不是中间有地方截断了数据?

      回复
    • Julia 2019-03-01 23:10

      这是错误信息

      回复
    • 念欲似毒 2019-03-03 19:43


      回复
    • 荼蘼 2019-03-05 09:02

      是因为拿到的sessionkey存在过期机制吧

      回复
    • Axl木子 2019-03-07 20:29

      在线等

      回复
    • Levi书豪 2019-03-09 17:02

      没人吗

      回复
  • 张与其

    6人对此回答表示赞同

    丞相,最后你找到问题了吗

    展开
    6
    3回复
    发布于 6年前

    评论(3)

    收起评论

    • 从不骑驴找马 2019-02-19 11:56

      这要查下服务端代码,看下有没有更新sessionkey

      回复
    • Eren Lau 2019-02-21 09:26

      我也是怀疑这样,但是我在调用之前,有wx.checkSession判断,显示的未过期,结果还是解密失败了,老尴尬了

      回复
    • Frederick富坚 2019-02-23 11:19

      找到了啊。

      回复
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部