微信公众平台消息加解密

时间:2021-06-08 17:51:50

最近微信公众平台强烈推荐我们使用消息加密,即服务器采用安全模式,

PHP的demo给了一对加密解密的例子,不是很清楚,

根据常用的php格式

其实加密方式很简单,代码如下

$postStr = file_get_contents ( "php://input" );


// 第三方发送消息给公众平台
$encodingAesKey = xxxxx;//自己服务器信息里的密钥
$token = xxx;//自己服务器信息里的token
$timeStamp =$_GET["timestamp"];
$nonce = $_GET["nonce"];
$appId = xxxx;//自己的APPid


$msg_sign = $_GET["msg_signature"];


$pc = new WXBizMsgCrypt($token, $encodingAesKey, $appId);


// 第三方收到公众号平台发送的消息
$msg = '';
$errCode = $pc->decryptMsg($msg_sign, $timeStamp, $nonce, $postStr, $msg);
// 获取参数


$postObj = simplexml_load_string ($msg, 'SimpleXMLElement', LIBXML_NOCDATA );

然后$postObj就是我们需要的解密后的xml数据。


加密也很简单

$encryptMsg = '';
$errCode = $pc->encryptMsg($retStr, $timeStamp, $nonce, $encryptMsg);
echo $encryptMsg;
$retStr为需要加密的数据,$encryptMsg为加密后的数据。