同求官方支持
【疑似bug】EVP_DecryptFinal_ex:bad decrypt- 当前 Bug 的表现(可附上截图) [图片] - 预期表现 可以对encryptedData正常解密。 - 复现路径 点击登录按钮后,小程序调用wx.login(),再将code、iv、encrypedData一起发往后端程序,后端程序调用微信api接口(api.weixin.qq.com/sns/jscode2session)希望获取openId,但经常会出现上图中的错误。 复现过程: 1、这个问题不是持续连续发生,而是在一段时间未操作小程序时,再次点击登录按钮触发登录操作的第一次时会发生,第二次及以后的登录操作则会成功。如果再过一段时间未操作小程序,当第一次登录的时候还是会出现这个现象——第一次登录不成功,后续登录操作可以成功。 2、问题的关键在于解密程序报错。将上述的ecryptedData、iv、session_key放入官方文档(貌似其中还有包括使用wx.getUserInfo()的描述,是否也要更新一下)中提供的demo.js程序运行,也会出现报错。 推测一下,会不会是encryptedData、iv或session_key数据不匹配导致解密失败。 目前只能在小程序端判断若出现Illegal Buffer Error这种情况,则再次自动发起认证。 类似的案例: 1、类似的这个问题。 2、解密不完整的例子。 3、外站的例子:https://ruby-china.org/topics/32128 4、居然还有50%概率无法解密的情况。 5、案例 6、这个帖子提出通过调用encodeURIComponent()函数对iv转换就没问题。经过尝试还是不行。 7、这位楼主解决了,但没写具体的方案。 8、提出要在刷新sessionkey 之后再拿 decryptData 就可解决。但没有代码示例。(http://www.2bmdzz.com/2017/10/16/wx-getshareinfo-encrypteddata-41003/) 9、2017年初就有人提过类似的问题。 10、2016年提出的同类案例。解密出现乱码的情况。 - 提供一个最简复现 Demo 前端【登录按钮】按下后的函数: [图片] 后端 处理的处理函数 [图片]
2018-09-25同问
解密encryptedData 出现Illegal Buffer- 当前 Bug[图片]
2018-09-25