data = sock.recv(1024).decode("utf8") if data[:5] == 'key-B': key.B = int(data.split(' ')[1]) print(key.a) print(f'key-B: {key.B}') print(f'key-K: {key.get_K()}') if key.B != 0: break key.status = False # СООБЩЕНИЕ КЛИЕНТА msg = input("\nYou: ") new_msg = enc.Msg_Bytes(msg, key.get_K()) sock.send(new_msg.encode()) # ОТКЛЮЧЕНИЕ ОТ СЕРВЕРА if len(msg) == 0 or msg.lower() == 'stop' or msg.lower() == 'exit': print("You disconnected.") break # СООБЩЕНИЕ СЕРВЕРА try: old_data = sock.recv(1024).decode("utf8") data = enc.Bytes_Msg(old_data, key.get_K()) print(f"\nServer: {data}") except ConnectionResetError as e: print(f"ERROR: {e}") break sock.close()
# ПОЛУЧЕНИЕ КЛЮЧЕЙ ШИФРОВАНИЯ КЛИЕНТА if data[:5] == 'key-A': print(data) key.A = int(data.split(' ')[1]) elif data[:5] == 'key-g': print(data) key.g = int(data.split(' ')[1]) elif data[:5] == 'key-p': print(data) key.p = int(data.split(' ')[1]) else: # СООБЩЕНИЯ old_data = data # зашифрованное сообщение data = enc.Bytes_Msg(data, key.get_K()) # расшифрованное new_data = enc.Msg_Bytes(data + '!!!', key.get_K()) # новое # ВЫХОД КЛИЕНТА if data == "" or data == "exit": save_log(f"Client disconnected.") break elif data == "stop": break else: # ОБРАТНАЯ ОТПРАВКА СООБЩЕНИЯ conn.send(new_data.encode()) # ЛОГИ save_log(f"Accepting old-data: {old_data}")