Baidu Wenxin Yiyan API インターフェースのリクエストパラメータの暗号化と復号化処理を PHP コードで実装しています。
ヒトコトはランダムな文章へのアクセスを提供するサービスであり、Baidu Wenxinyiyan API の 1 つです。開発者が呼び出すことができるインターフェイス。データのセキュリティを確保するために、リクエスト パラメータを暗号化し、レスポンスを受信した後にレスポンスを復号化することができます。以下は、Baidu Wenxin Yiyan API インターフェイスのリクエスト パラメータの暗号化および復号化処理を実装する PHP コードの例です。
<?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); ?>
上記のコードでは、encryptData
関数を使用してリクエストを暗号化します。パラメータ。 , decryptData
関数は、応答データを復号化するために使用されます。暗号化と復号化のプロセス中に、AES-128-ECB 暗号化アルゴリズムが使用されるため、暗号化キーを提供する必要があります。暗号化されたパラメータの場合は、URL エンコードしてリクエスト パラメータとして送信する必要があります。
実際に呼び出すときは、コード内の $url
を実際の API インターフェイス アドレスに設定し、$key
をセキュア キーに設定する必要があります。 $params
は送信するリクエスト パラメータであり、インターフェイス ドキュメントに従って変更できます。その後、実際のニーズに応じて、復号化された応答データを処理して使用できます。
このサンプル コードが、Baidu Wenxin Yiyan API インターフェイスのリクエスト パラメーターの暗号化と復号化を行い、データのセキュリティを確保するのに役立つことを願っています。もちろん、実際のプロジェクトでは、他のセキュリティ要素も考慮し、適切な最適化とパッケージ化を実行する必要がある場合があります。
以上がPHP コードは、Baidu Wenxinyiyan API インターフェイスのリクエスト パラメータの暗号化および復号化処理を実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。