Kod PHP melaksanakan penyulitan parameter permintaan dan pemprosesan penyahsulitan antara muka API Baidu Wenxin Yiyan
Hitokoto ialah perkhidmatan yang menyediakan akses kepada ayat rawak API Baidu Wenxin Yiyan adalah salah satu daripadanya yang membolehkan pembangun memanggil antara muka. Untuk memastikan keselamatan data, kami boleh menyulitkan parameter permintaan dan menyahsulit respons selepas menerima respons. Berikut ialah contoh kod PHP yang melaksanakan penyulitan parameter permintaan dan pemprosesan penyahsulitan antara muka API Baidu Wenxin Yiyan:
<?php function encryptData($data, $key) { $method = 'AES-128-ECB'; // 加密方法 $iv = ""; // 初始化向量 $encrypted = openssl_encrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv); $encrypted = base64_encode($encrypted); return $encrypted; } function decryptData($data, $key) { $method = 'AES-128-ECB'; // 解密方法 $iv = ""; // 初始化向量 $decrypted = openssl_decrypt(base64_decode($data), $method, $key, OPENSSL_RAW_DATA, $iv); return $decrypted; } // 请求参数加密处理示例 $url = "http://api.hitokoto.cn/"; // API接口地址 $key = "your_encryption_key"; // 加密密钥 $params = [ "c" => "category", "s" => "source", ]; // 请求参数 $encryptedParams = encryptData(json_encode($params), $key); // 加密参数 $encryptedParams = urlencode($encryptedParams); // 对加密结果进行URL编码 $requestUrl = $url . "?params=" . $encryptedParams; // 发起API请求 $response = file_get_contents($requestUrl); // 解密响应数据示例 $encryptedResponse = $_GET['response']; // 获取加密后的响应数据 $decryptedResponse = decryptData($encryptedResponse, $key); // 解密响应数据 $decodedResponse = json_decode($decryptedResponse, true); // 将解密结果转换为数组或对象 // 输出结果 var_dump($decodedResponse); ?>
Dalam kod di atas, fungsi encryptData
digunakan untuk menyulitkan parameter permintaan, decryptData digunakan untuk menyahsulit data tindak balas. Semasa proses penyulitan dan penyahsulitan, kami menggunakan algoritma penyulitan AES-128-ECB dan perlu menyediakan kunci penyulitan. Untuk parameter yang disulitkan, ia perlu dikodkan URL dan dihantar sebagai parameter permintaan. encryptData
函数用于对请求参数进行加密处理,decryptData
函数用于解密响应数据。在加密和解密过程中,我们使用AES-128-ECB加密算法,同时需要提供加密密钥。对于加密后的参数,需要进行URL编码后作为请求的参数进行发送。
在实际调用时,你需要将代码中的$url
设置为实际的API接口地址,$key
设置为安全的密钥。$params
$url
dalam kod kepada alamat antara muka API sebenar dan $key
kepada kunci selamat. $params
ialah parameter permintaan yang ingin anda hantar, yang boleh diubah suai dengan sewajarnya mengikut dokumen antara muka. Selepas itu, anda boleh memproses dan menggunakan data tindak balas yang dinyahsulit dengan sewajarnya mengikut keperluan sebenar. Semoga kod sampel ini dapat membantu anda menyulitkan dan menyahsulit parameter permintaan antara muka API Baidu Wenxin Yiyan untuk memastikan keselamatan data. Sudah tentu, dalam projek sebenar, anda juga mungkin perlu mempertimbangkan faktor keselamatan lain dan melakukan pengoptimuman dan pembungkusan yang sesuai. 🎜Atas ialah kandungan terperinci Kod PHP melaksanakan penyulitan parameter permintaan dan pemprosesan penyahsulitan antara muka API Baidu Wenxinyiyan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!