Кодирование после шифрования с PyCrypto не работает - PullRequest
0 голосов
/ 02 октября 2019

У меня следующий код Python для шифрования ( RSA ) входного значения с использованием PyCrypto. Теперь мне нужно закодировать зашифрованное значение в Base64. Я попробовал следующее, и я выдаю мне следующую ошибку:

требуется объект, похожий на байты, а не 'tuple'

Как правильно выполнить кодировку для Base64?

from Crypto.PublicKey import RSA
key = RSA.generate(4096)
f = open('C:/Test/my_rsa_public.pem', 'wb')
f.write(key.publickey().exportKey('PEM'))
f.close()
f = open('C:/Test/my_rsa_private.pem', 'wb')
f.write(key.exportKey('PEM'))
f.close()

f = open('C:/Test/my_rsa_public.pem', 'rb')
f1 = open('C:/Test/my_rsa_private.pem', 'rb')
key = RSA.importKey(f.read())
key1 = RSA.importKey(f1.read())

x = key.encrypt(b"MyTest",32)

print(x)
z = key1.decrypt(x)
print(z)

from base64 import b64encode, b64decode
mret = b64encode(x)
...