stream_socket_enable_crypto
接続されたソケットの暗号化をオン/オフします
関数名:stream_socket_enable_crypto()
適用バージョン:PHP 5> = 5.1.0、PHP 7
関数の説明:stream_socket_enable_crypto()関数は、確立されたソケット接続で暗号化を有効または無効にするために使用されます。
構文:bool stream_socket_enable_crypto(resource $ stream、bool $ enable、int $ crypto_type [、resource $ session_stream]))
パラメーター:
返品値:暗号化が有効または無効になっている場合はtrueを返します。それ以外の場合はfalseを返します。
例:
// 创建一个socket连接$socket = stream_socket_client('tcp://www.example.com:443', $errno, $errstr, 30); // 启用加密if (stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) { echo "加密已成功启用!\n"; } else { echo "无法启用加密!\n"; } // 发送加密的数据fwrite($socket, "Hello, encrypted world!"); // 关闭加密stream_socket_enable_crypto($socket, false); // 发送非加密的数据fwrite($socket, "Hello, world!"); // 关闭socket连接fclose($socket);
上記の例では、最初にStream_Socket_Client()関数を使用して、 www.example.comのポート443へのTCP接続を作成します。次に、Stream_Socket_Enable_Crypto()関数を使用して暗号化を有効にし、暗号化タイプをTLSクライアント暗号化に指定します。暗号化が正常に有効になっている場合、出力は「暗号化されました!」、そうでない場合は出力が「暗号化できません!」です。次に、FWRITE()関数を使用して、暗号化されたデータを送信します。次に、stream_socket_enable_crypto()関数を使用して、暗号化を無効にします。最後に、FWRITE()関数を使用して、暗号化されていないデータを送信し、ソケット接続を閉じます。