array($data) || !isset($data['p'],$data['h'],$data['t'])) return null; // anti-replay: 60s window if (abs(time() - intval($data['t'])) > 60) return null; $calc = hash_hmac('sha256', $data['p'], HMAC_KEY); if (!hash_equals($calc, $data['h'])) return null; $raw = base64_decode($data['p']); $method = 'AES-256-CBC'; $ivlen = openssl_cipher_iv_length($method); $iv = substr($raw, 0, $ivlen); $cipher = substr($raw, $ivlen); $plain = openssl_decrypt($cipher, $method, ENCRYPTION_KEY, OPENSSL_RAW_DATA, $iv); return $plain === false ? null : $plain; } ?>
Admin Panel