Клиент не отправляет зашифрованное сообщение на сервер - PullRequest
0 голосов
/ 10 ноября 2019

Я пытаюсь отправить сообщение с клиента на сервер, но сервер ничего не получает. Сервер может отправлять сообщения клиенту должным образом, но клиент не может отправлять сообщения.

Я уже пытался использовать str () и изменить размер блока заполнения. На данный момент я пытаюсь что-нибудь исправить, прежде чем я потеряю все свои волосы.

Моя клиентская программа ...

 # Client receives a message and send it to the client
    encryptedNameQ = clientSocket.recv(2048)
    padNameQ = cipher.decrypt(encryptedNameQ)
    nameQ = unpad(padNameQ, 16).decode("ascii")
    #print(nameQ) this works and prints the correct thing

    # Client send name to the server
    nameA = input(nameQ + "\n\nAnswer: ")
    name = cipher.encrypt(pad(nameA.encode("ascii"), 16))
    print(name) # This works and the message is encrypted
    clientSocket.send(name) 

...

Моя серверная программа ...

 # Server send encypted message to the client
            welcomeMsg = cipher.encrypt(pad("Welcome to examination System\nWhat is your name? ".encode("ascii"), 16))
            #print(welcomeMsg)
            connectionSocket.send(welcomeMsg)

            # Server receives client message, decodes it 
            nameMsg = connectionSocket.recv(2048) #not getting anything
            print("Encrypted message recived: " + nameMsg)
            padName = cipher.decrypt(nameMsg)
            # Unpad message 
            name = unpad(padName, 16).decode("ascii")
            print("Decrypted message recived: " + name)

...

Приветственное сообщение отправляется сервером и принимается клиентом должным образом, но имя не отправляется сервером, и я не знаю, почему. Он не печатает ни одной строки в программе сервера, но в клиентской программе печатается заполненное имя. Код в основном идентичен, поэтому я не знаю, что происходит не так.

...