C# · 12月 26, 2021

c# – 简单的客户端/服务器,TCP / IP加密消息流,SSL

编写一个小的TCP / IP客户端服务器应用程序.基本上它创建了一个服务器,然后您可以创建几个不同的客户端并设置一些聊天会话.我想知道有没有办法合并,使用标准的.net库某种形式的加密?

m_mainSocket = new Socket(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);

有没有办法使用rsa来表示tcp?

或者你(我是)必须写一些自定义库来进行密钥交换然后加密后续的聊天消息?我之前已经为uni做过,但那是在java中,但我知道转换它们并不困难.试着不必重新发明轮子……

或者使用ssl怎么样?

谢谢,罗恩.

解决方法 加密通信的最简单方法是将整个套接字流包装在 SslStream中.

这可以直接使用TcpClient / TcpListener,因此使用它来加密数据流非常容易.