hxp
2025-06-09 6c3f6335c70859ded94a1ad8d218acb0ac34239c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
include_once "../../../Common/Logging.php";
include_once '../../../Common/MongoDB7.php';
include_once "wxBizDataCrypt.php";
 
\Logging\CreateLogging("wx.decrypt.php");
\Logging\LogInfo("_POST: " . print_r($_POST, true));
 
$openid = $_POST["openid"];
$encryptedData = $_POST["encryptedData"];
$iv = $_POST["iv"];
$gamename = $_POST["gamename"];
 
$errCode = 0;
$gameconfig = parse_ini_file("config/" . $gamename . ".ini", true);
$dbOpt = new \MongoDB7\MongoDb("session", $gameconfig["db"]);
$where = ['openid' => $openid];
$result = $dbOpt->query($where);
if ($result) {
    $sessionKey = $result[0]["session_key"];
    \Logging\LogInfo("sessionKey result: " . print_r($result, true));
    $pc = new WXBizDataCrypt("", $sessionKey);
    $errCode = $pc->decryptData($encryptedData, $iv, $data);
    if ($errCode == 0) {
        \Logging\LogInfo("decrypt data: " . print_r($data, true));
        echo $data;
        return;
    }
} else {
    $errCode = -1;
}
\Logging\LogInfo("decrypt errCode: " . $errCode);
echo json_encode(['errCode' => $errCode]);