微信开发遇到的一个编码坑
1、运行代码之后,在微信公众平台点击提交,显示配置错误,并且在终端中报出这个错误,将错误范围锁定在hash编码的附近,百度之后发现了问题,没修改前代码是这样的。
sign = hashlib.sha1(tmp_str.).hexdigest()
运行之后,报错:Unicode-objects must be encoded before hashing。
这个意思是在进行sha1哈希运算前,需要对数据进行编码,只需要转码一下就行了。
2、修改后代码如下。
sign = hashlib.sha1(tmp_str.encode("utf8")).hexdigest()
3、运行代码,在微信公众平台点击提交,显示配置成功,完美解决。