收藏
回答

请问getUserInteractiveStorage 解密过程的方式 是否有问题?

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小游戏 需求 getUserInteractiveStorage 微信iOS客户端 7 2

1 客户端首先发起wx.login 得到sessionKey,然后getUserInteractiveStorage

得到encryptedData, iv,这三个东西在客户端解密,但结果 返回{},

请问 可能什么原因,首先这流程是否正确?

2看了官方给的解密的例子 只有NODE的 没有客户端JS的好像,直接用NODE的例子改,

var crypto = require('crypto') 报错了,好像没有这个模块,

这个是个什么规则? JS不能解密吗 没有例子吗?

3 目前客户端JS解密的算法 是网上找的代码,但返回{} 但也没显示什么错误?

请问 问题出在哪里了 给指点一下 谢谢

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

2 个回答

  • 胡
    2020-09-08

    JAVA做了一个 服务端解密的例子,还是不行啊 还是返回{},也没报错,和客户端解密结果完全一样 都不知道哪里的问题,几天了 就折腾这个问题 , 你们能给个如何解决的建议吗 我去做就是了

    2020-09-08
    有用
    回复 5
    • Forever
      Forever
      2020-09-10
      现在解决了吗?sessionKey ,encryptedData ,iv这三个参数有成功转成base64吗?
      2020-09-10
      回复
    • 胡
      2020-09-11回复Forever
      多谢,我们换成node试试吧 有例程就好多了
      2020-09-11
      回复
    • Forever
      Forever
      2020-09-11
      wx.getUserInteractiveStorage获取的是互动型托管数据,需要确保这个数据存在,解码后才不为空
      2020-09-11
      回复
    • 艾小智
      艾小智
      2020-10-14回复Forever
      请问一下,我通过wx.getUserInteractiveStorage获取到的数据,解密后的数据里面没有watermark参数,你们官方提供的解密函数里面有对watermark参数做判断的,这样是正常的吗?
      2020-10-14
      回复
    • Forever
      Forever
      2020-10-14回复艾小智
      加密前和解密后的数据一致那就没问题
      2020-10-14
      回复
  • Forever
    Forever
    2020-09-08

    我们这边不建议这麽做,因为不安全

    2020-09-08
    有用
    回复 3
    • 胡
      2020-09-08
      正确的方式是什么?
      客户端首先wx.login 得到sessionKey,
      然后getUserInteractiveStorage得到encryptedData, iv,
      然后这三个东西 再传到服务器,然后解密
      然后再把结果传回来?再显示?
      2020-09-08
      回复
    • Forever
      Forever
      2020-09-08回复
      是的,因为这个数据是有价值的(例如表示游戏内的一个可消耗金币,如果在前端解密,再通过 http 请求给到后台,那我改一下包,说多少就是多少,开发者怎么信?)
      2020-09-08
      回复
    • 胡
      2020-09-08回复Forever
      明白 多谢解答,
      那么就从技术上来讨论这个问题,不管安全性啊 ,
      就我之前的做法 就硬在客户端处理 解密,但看不到数据 返回结果为空,
      请问,这个是平台故意限制的吗 是就这样吗,
      还是说 在客户端处理 也能得到正确数据 ? 只是我处理的有问题?

      我想知道 我之前没得到结果的 原因?
      2020-09-08
      回复
登录 后发表内容
问题标签