コード例 #1
0
 def buildpacket(self, receiver):
     p = Packet()
     p.sender = self.uuid
     p.receiver = receiver
     p.rsa = self.__rsacrypt
     p.pubkey = self.serverkey
     if receiver != self.serveruuid:
         p.aes = self.__aesmapping[receiver]
     return p
コード例 #2
0
 def recv(self, encrypt=True, server=False):
     d = self.__client.recv(512)
     packet = Packet()
     if encrypt:
         packet.rsa = self.__rsacrypt
         msg = packet.decrypt(d[256:])
         self.__rsacrypt.verify(msg, d[:256], self.serverkey)
         packet.from_bytes(msg)
         if packet.sender != self.serveruuid:
             packet.aes = self.__aesmapping[packet.sender]
             packet.decrypt_payload()
     else:
         packet.from_bytes(d)
         if packet.command == Command.SHAREPUB:
             d = self.__client.recv(21)
             packet.payload = packet.payload + d
     return packet