함수 이름 : 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 () 함수를 사용하여 암호화되지 않은 데이터를 보내고 소켓 연결을 닫습니다.