• 企业微信开发url回调成功后的对xml解密出明文


    
    
    include_once "callback/WXBizMsgCrypt.php";(文件自行去企业微信文档里下载(https://work.weixin.qq.com/api/doc/90000/90138/90307))
    $inputXmlData = file_get_contents('php://input');
    $p_params = $request->all();

    $corpId = ""; //微信应用id

    $token = $resMsgtoken['token']; // url验证token
    $encodingAesKey = $resMsgtoken['encoding_aes_key']; // url验证key
    $wxcpt = new WXBizMsgCrypt($token, $encodingAesKey, $corpId);
    $sReqMsgSig = $p_params['msg_signature'];
    $sReqTimeStamp = $p_params['timestamp'];
    $sReqNonce = $p_params['nonce'];
    $sReqData = $inputXmlData;
    $sMsg = ""; // 解析之后的明文
    $errCode = $wxcpt->DecryptMsg($sReqMsgSig, $sReqTimeStamp, $sReqNonce, $sReqData, $sMsg);
    if ($errCode == 0) {
    //将获取到的xml数据全部转化为Array格式
    $decodeMsg = json_decode(json_encode(simplexml_load_string($sMsg, 'SimpleXMLElement', LIBXML_NOCDATA)), true);

    if (empty($decodeMsg)) {
    Log::info('info', ['sMsg即为xml格式的明文' => $decodeMsg]);
    die();
    }
    }
  • 相关阅读:
    从输入网址到页面呈现的过程
    Git 常用命令合集
    Jquery浅克隆与深克隆
    CSS变量教程
    设计模式
    Servlet和JSP简述
    SQL Server,MySQL,Oracle三者的区别
    mysql事务处理
    计时器
    java中length,length(),size()区别
  • 原文地址:https://www.cnblogs.com/smilevv/p/15577814.html
Copyright © 2020-2023  润新知