微信公众号消息加密官方示例代码修正版
公众号消息加解密是公众平台为了进一步加强公众号安全保障,提供的新机制。开发者需注意,公众账号主动调用API的情况将不受影响。只有被动回复用户的消息时,才需要进行消息加解密。消息加解密的具体修改包括:
- 新增消息体签名验证,用于公众平台和公众账号验证消息体的正确性
- 针对推送给微信公众账号的普通消息和事件消息,以及推送给设备公众账号的设备消息进行加密
- 公众账号对密文消息的回复也要求加密
... ...
官方提供的示例代码包括C++、php、Java、Python和C#五种语言,下载地址为:
https://wximg.gtimg.com/shake_tv/mpwiki/cryptoDemo.zip
遗憾的是其php版在高版本php环境下无法运行,经过网查、测试、修改,现整理代码如下:
1. demo.php文件,已修改:
2. errorCode.php文件,未修改:
3. pkcs7Encoder.php文件,已修改:
4. sha1.php文件,未修改:
5. wxBizMsgCrypt.php文件,已修改:
6. xmlparse.php文件,未修改:
测试环境:
其一:Apache/2.4.41 (Win64) OpenSSL/1.1.1c PHP/7.3.11
其二:Apache/2.4.6 (CentOS) PHP/5.4.16