12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?php
- require('../vendor/autoload.php');
- // 设置接口路径
- $api_url = 'http://58.213.156.66/qjpt/f/interactive/dealRfidData';
- $data = [
- "data" => [
- [
- "rfid" => "000001004968",
- "location" => "01393A3173657005",
- "volt" => "0"
- ]
- ]
- ];
- //{"data":[{"rfid":"000001004968","location":"01393A3173657005","volt":"0"}]}
- // 1. 将数据转换为 JSON 格式并进行 Base64 编码
- $json_data = json_encode($data);
- var_dump($json_data);
- $base64_data = base64_encode($json_data);
- // 2. 设置 POST 请求数据
- $post_data = [
- 'data' => $base64_data
- ];
- $curl = curl_init();
- curl_setopt_array($curl, array(
- CURLOPT_URL => $api_url,
- CURLOPT_RETURNTRANSFER => true,
- CURLOPT_ENCODING => '',
- CURLOPT_MAXREDIRS => 10,
- CURLOPT_TIMEOUT => 0,
- CURLOPT_FOLLOWLOCATION => true,
- CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
- CURLOPT_CUSTOMREQUEST => 'POST',
- CURLOPT_POSTFIELDS =>$base64_data,
- CURLOPT_HTTPHEADER => array(
- 'Content-Type: text/plain'
- ),
- ));
- // 3. 接口返回的数据
- $response = curl_exec($curl);
- curl_close($curl);
- var_dump($response);
- // 4. AES 解密函数
- function aes_decrypt($data, $key) {
- $decrypted_data = openssl_decrypt(base64_decode($data), 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
- return $decrypted_data;
- }
- // 5. 返回数据处理 AES 解密
- // 解密密码
- $password = 'njmind.comnjsjly';
- $decrypted_response = aes_decrypt($response, $password);
- $base64_decrypted_data = base64_decode($decrypted_response);
- $final_response = json_decode($base64_decrypted_data, true);
- // 6. 输出解密后的结果
- var_dump($final_response);
|