Python聊天,加密模块未解密
我的python聊天学习套接字正在工作,今天我开始实现加密模块来进行加密聊天。但我想我弄乱了公钥和私钥 当客户机连接到服务器时,他们进行握手以交换公钥。所以,客户端有自己的密钥进行解密,加上服务器公钥对传出消息进行加密。服务器端:每个客户端都是一个线程,握手后存储自己的公钥以加密传出消息,服务器密钥以解密 工作流来自我的POV:发送方客户端加密消息,发送到服务器,服务器使用自己的私钥解密,服务器使用自己的公钥将消息加密到所有其他客户端。最后,收件人客户端使用服务器公钥解密消息 使用send_all和send_all no_room方法向所有人发送消息时面临的问题。有时消息被正确解密,但大多数情况下未正确解密 在哪一点上我丢失了正确的钥匙 这里有发送和接收方法 考虑到我只实现了自定义的send、receive、encrypt、decrypt方法来发送\u all和发送\u all\u no\u room函数。例如,send\u private\u msg无法工作。问题在于send\u all函数:Python聊天,加密模块未解密,python,encryption,Python,Encryption,我的python聊天学习套接字正在工作,今天我开始实现加密模块来进行加密聊天。但我想我弄乱了公钥和私钥 当客户机连接到服务器时,他们进行握手以交换公钥。所以,客户端有自己的密钥进行解密,加上服务器公钥对传出消息进行加密。服务器端:每个客户端都是一个线程,握手后存储自己的公钥以加密传出消息,服务器密钥以解密 工作流来自我的POV:发送方客户端加密消息,发送到服务器,服务器使用自己的私钥解密,服务器使用自己的公钥将消息加密到所有其他客户端。最后,收件人客户端使用服务器公钥解密消息 使用send_al
def send_all(self, message):
"""Send to all method, broadcast a message"""
for sock in [client.sock for client in clients]:
if sock != self.sock:
message_encripted = self.encriptar(message,client)
send(sock,message_encripted)
for循环的每个迭代都使用相同的客户机。同样的问题也存在于send_all_no_room功能中
固定代码:
def send_all(self, message):
"""Send to all method, broadcast a message"""
for client in clients:
if client is not self:
message_encripted = self.encriptar(message,client)
send(client.sock,message_encripted)