微信小程序> 解决由于参数编码问题导致服务端报500【如:微信小程序session_key加密数据解密算法报错】

解决由于参数编码问题导致服务端报500【如:微信小程序session_key加密数据解密算法报错】

浏览量:674 时间: 来源:AwesomeDevin

我的报错场景

 

在【微信小程序】开发中 加密数据解密算法 报错,后来经过排查发现是由于session_key(‘1744eFm+jcmxMOKxMw==’)中存在特殊符号‘+’,后端接收到的参数为‘1744eFm jcmxMOKxMw==’,前后不一致,导致解密报错
 小程序

解决办法

 

前端使用encodeURIComponent(key)对key进行编码,后端decodeURIComponent(key),这样就能拿到完整的数据

顺便说一下encodeURI与encodeURIComponent的区别

 

encodeURI   该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#

   

encodeURIComponent    “; / ? : @ & = + $ , #”,这些在encodeURI()中不被编码的符号,在encodeURIComponent()中统统会被编码。至于具体的编码方法,两者是一样。

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎