微信加密数据解密

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

通过官方的例子就能配置成功,需要注意session_key,$encryptedData和$iv一定要严格对应,如果没有对应就无法解密并返回错误码:-41003. 这个问题调整了两三天,才发现是调试时把$encryptedData写死了,所以才出现这个问题。

引入微信加密数据解密后,返回的数据一直报SyntaxError: Unexpected token   in JSON at position 0,无法解析成json对象。一般的如果是数据格式错误的话,token后面会有错误的字符,奇怪的是这个没有。折腾了一下午,后来通过调试后发现,在服务器返回的数据前面多了几个一般情况下看不到的空格,上图:

微信加密数据解密_第1张图片

这个空格在编辑器里是看不到的,就是这个空格把所有的东西都改变了。打印出来的内容变成了这样:

data:"{\"code\":200,\"message\":\"user login success!\",\"data\":\"<''\"}"

​​​​​​而正常情况下是:

data:{"code":200,"message":"user login success!","data":"<''"}

解决方法:把从微信官方提供的解密文件转换成“以UTF-8无BOM格式编码”即可神奇的解决这个问题。

转换后调试结果,JSON也能正常解析了。

微信加密数据解密_第2张图片

转载于:https://my.oschina.net/u/266531/blog/896519

你可能感兴趣的:(微信加密数据解密)