官方提供的加解密库python代码是python2的
python3需要修改的地方:
-
SHA1类中 getSHA1 方法:
源代码:sha.update("".join(sortlist))
修改为:
data = "".join(sortlist)
sha.update(data.encode('utf-8'))
-
WXBizMsgCrypt.py 导包问题:
python3无需encoding,删除下面改行
sys.setdefaultencoding('utf-8')
-
Prpcrypt类中 decrypt 方法:
源代码:pad = ord(plain_text[-1])
修改为:pad = plain_text[-1]
以上python3修改完用企业微信接口工具测验都成功,但是在配置保存时会出现:
提示"openapi回调地址请求不通过"
注意官网文档有一句提示:
在1秒内响应GET请求,响应内容为上一步得到的明文消息内容(不能加引号,不能带bom头,不能带换行符)
- 明文消息内容返回转为整形
ret,sEchoStr=wxcpt.VerifyURL(sVerifyMsgSig, sVerifyTimeStamp,sVerifyNonce,sVerifyEchoStr)
return Response(int(sEchoStr))