Как правильно расшифровать зашифрованное сообщение на rsa

Есть клиент. Он посылает сообщение:

def chat(session):
    while True:
        print(session.login + ": ", end='', sep="")
        message = input()
        pubkey = rsa.PublicKey(int(session.open_key_n), int(session.open_key_e))
        mess = message.encode("utf8")
        crypt_message = rsa.encrypt(mess, pubkey)
        client.send((str(MESSAGE) + "|" + session.login + "|" + str(crypt_message)).encode('utf-8'))

в сесии хранится логин и публичный ключ который пришел с сервера ранее

А вот сервер пытается расшифровать:

def chat(request, private_key):

    message = str(request.decode("utf-8")).split("|")
    rsa.decrypt(bytes(message[2]), private_key)

но получает ошибку:

    TypeError: string argument without an encoding
    request выглядит так: b'3|1|b\'1t\\x9ao~k\\xe6\\xc4\\xb6P{\\xa5\\xee\\xfb\\x9b\\xe9\\x1ann\\xba\\xc1\\xbd\\x85\\xfa\\x81\\x04\\xc7\\xcd\\xb2\\xd6\\x9d\\x12\\x17\\xe4\\xdf\\xaa\\xa7E\\xd7\\xe8\\xb8\\x0e[\\xe2O\\xfd\\x0c\\x01\\xd4\\xbaSE\\xdcm\\x8f\\x9cD\\x1eKJ"\\x92\\\'3\''

3 - это код, что бы сервер понимал что хочет сделать пользователь(авторизация, регистрация или чат) 1 - логин а все остальное после второй | это письмо зашифрованное rsa

Как правильно расшифровать письмо со стороны сервера


Ответы (0 шт):