小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我把所有信息都拿到后台获取解密,前台会返回 前台把 encryptedData传到后台中间会出现空格,
前台打印:
大佬们,给个解决方法
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
url传递base64加密串时,“+”会在url编码中视为空格,解密就会失败。解决方法,base64解密前替换空格为“+”。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
已解决。谢谢了!
您好怎么解决的,求告知.
encryptedData 传参过程中“+”字符丢失。+号属于敏感字符。请求时:header使用
header: {
'Content-Type': 'application/json'
},
可以解决。
我把 header:{ 'Content-Type': 'application/json'} 设置为此 还需不需要对encryptedData里面的 "+" 进行操作? 什么样的操作?
你把参数encryptedData,打印看看不就知道了?如果有+,应该不需要操作了。直接解密。
导致问题的原因是getUserInfo放在了wx.login之前。getUserInfo获取到 iv 和encryptedData 传给后台。 wx.login调用时用户的 session_key 可能会被更新而致使旧 session_key 失效。这样后台再去解密的时候就等于在用新的session_key去解密旧的session_key加密的数据,就会报上边的错误。
参考:https://www.55blog.cn/article/0/107.shtml
附:
trim了解一下,你去网上搜索一下去空格的函数试一下
弄过了 ,上面有一个去除空格的函数,调用出来的值长度少几位。关键好像还不是这的问题。
那到底是不是空格的问题
搞不清,因为encryptedData长度跟前台的长度一致,
是不是你调用的方法错了,你这应该是解密,你调用了修改的方法
调用的就是 解密的方法啊,已经在解密了 出现乱码了,看见没!
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
url传递base64加密串时,“+”会在url编码中视为空格,解密就会失败。
解决方法,base64解密前替换空格为“+”。
已解决。谢谢了!
您好怎么解决的,求告知.
encryptedData 传参过程中“+”字符丢失。+号属于敏感字符。请求时:header使用
header: {
'Content-Type': 'application/json'
},
可以解决。
我把 header:{ 'Content-Type': 'application/json'} 设置为此 还需不需要对encryptedData里面的 "+" 进行操作? 什么样的操作?
你把参数encryptedData,打印看看不就知道了?如果有+,应该不需要操作了。直接解密。
https://blog.csdn.net/qq_42172829/article/details/81944215
导致问题的原因是getUserInfo放在了wx.login之前。getUserInfo获取到 iv 和encryptedData 传给后台。 wx.login调用时用户的 session_key 可能会被更新而致使旧 session_key 失效。这样后台再去解密的时候就等于在用新的session_key去解密旧的session_key加密的数据,就会报上边的错误。
参考:https://www.55blog.cn/article/0/107.shtml
参考:https://www.55blog.cn/article/0/107.shtml
附:
trim了解一下,你去网上搜索一下去空格的函数试一下
弄过了 ,上面有一个去除空格的函数,调用出来的值长度少几位。关键好像还不是这的问题。
那到底是不是空格的问题
搞不清,因为encryptedData长度跟前台的长度一致,
是不是你调用的方法错了,你这应该是解密,你调用了修改的方法
调用的就是 解密的方法啊,已经在解密了 出现乱码了,看见没!