Exemplo n.º 1
0
        # ЦИКЛ ДЛЯ ШИФРОВАНИЯ
        while True:
            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
Exemplo n.º 2
0
        # ПОЛУЧЕНИЕ КЛЮЧЕЙ ШИФРОВАНИЯ КЛИЕНТА
        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}")
                save_log(f"Accepting data: {data}")