您当前的位置:首页 > 建站知识 > 编程知识

在公众号接口安全模式下的加密解密出现官方demo出错的解决方法

发布时间: 2019-10-11 │ 浏览:2654 

微信公众号开发中,当开发配置选择安全模式时,公众号平台会把消息加密后再发送过来。
这时我们收到消息后要先解密。微信官方有demo,于是下载php例子,不过运行后出错。

首先是构造函数的错误,这个可在wxBizMsgCrypt.php里把构造函数改成__construct,记得文件中有几个类,要把构造函数全都改好。
改好后明白,这是PHP版本问题,官方demo是7.2以前的,从PHP7.2之后构造函数名就不能与类名同名了。

接着运行,还有错误:无法识别mcrypt_module_open函数,网上有很多帖子说要下载安装libmcrypt.dll,其实PHP7.2之前才用到这个dll,而PHP7.2之后已不用了。根据提示打开pkcs7Encoder.php文件,如下:


划了中横线,已是作废不能用了。要用新的替代函数。
新的加密代码:


新的解密代码:


代码复制过来后排版不好,只能截图了,见谅。