Maison > Article > développement back-end > Le code PHP implémente le traitement de cryptage et de déchiffrement des paramètres de demande de l'interface API Baidu Wenxinyiyan
Le code PHP implémente le traitement de cryptage et de décryptage des paramètres de demande de l'interface API Baidu Wenxin Yiyan
Hitokoto est un service qui donne accès à des phrases aléatoires. L'API Baidu Wenxin Yiyan est l'un d'entre eux qui permet aux développeurs d'appeler l'interface. Afin de garantir la sécurité des données, nous pouvons crypter les paramètres de la demande et décrypter la réponse après réception de la réponse. Voici un exemple de code PHP implémentant le traitement de cryptage et de déchiffrement des paramètres de requête de l'interface 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); ?>
Dans le code ci-dessus, la fonction encryptData
est utilisée pour crypter les paramètres de requête, decryptData est utilisée pour déchiffrer les données de réponse. Pendant le processus de cryptage et de décryptage, nous utilisons l'algorithme de cryptage AES-128-ECB et devons fournir la clé de cryptage. Pour les paramètres chiffrés, ils doivent être codés en URL et envoyés en tant que paramètres de requête. encryptData
函数用于对请求参数进行加密处理,decryptData
函数用于解密响应数据。在加密和解密过程中,我们使用AES-128-ECB加密算法,同时需要提供加密密钥。对于加密后的参数,需要进行URL编码后作为请求的参数进行发送。
在实际调用时,你需要将代码中的$url
设置为实际的API接口地址,$key
设置为安全的密钥。$params
$url
dans le code sur l'adresse réelle de l'interface API et $key
sur la clé sécurisée. $params
sont les paramètres de requête que vous souhaitez envoyer, qui peuvent être modifiés en conséquence selon le document d'interface. Ensuite, vous pouvez traiter et utiliser les données de réponse décryptées en fonction des besoins réels. J'espère que cet exemple de code pourra vous aider à crypter et déchiffrer les paramètres de requête de l'interface API Baidu Wenxin Yiyan pour garantir la sécurité des données. Bien entendu, dans les projets réels, vous devrez peut-être également prendre en compte d’autres facteurs de sécurité et effectuer une optimisation et un packaging appropriés. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!