我会更好地解释我的问题。
我有一个连接到Python服务器的C#客户端,这个客户端应该在建立连接时向服务器发送(只需一次)一些数据,这些数据不应该被篡改。
我不知道加密技术,但是我读了一些算法,比如RSA,其中公钥用于加密数据,私钥用于解密。
我想尝试做的是创建一对密钥并将公钥发送到客户端,使用此密钥加密数据并将加密数据发送到服务器,我认为使用这种方式数据不能被解密或被篡改,每个连接的客户端都有一对不同的密钥。 这可能吗?我一直在寻找,但我真的不明白RSA是如何工作的。 关于如何做到这一点的任何想法?
答案 0 :(得分:2)
一个非常简单的答案:不要尝试创建自己的协议,而是使用SSL(或者更确切地说是TLS)。特别是如果你不确定如何实现这一点。您可以使用自己签名(因而无偿)的证书。