Crypto не поддерживает Python 3.x? - PullRequest
0 голосов
/ 11 марта 2019

когда я использую python3.x, запустите код:

    with open('rsa_public_key.pem') as f:
    key = f.read()
    rsakey = RSA.importKey(key)
    cipher = Cipher_pkcs1_v1_5.new(rsakey)
    cipher_text = base64.b64encode(cipher.encrypt(aes_key))
    str1 = cipher_text

, это вызовет ошибку:

  File "de_test.py", line 81, in get_login_data_inputPostString
cipher_text = base64.b64encode(cipher.encrypt(aes_key))
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/Crypto/Cipher/PKCS1_v1_5.py", line 137, in encrypt
em = b('\x00\x02') + ps + bchr(0x00) + message
TypeError: can't concat str to bytes

Но когда я использую python 2.6, оно пройдет.

так что crypto не поддерживает python 3.x?

1 Ответ

1 голос
/ 13 марта 2019

Не видя aes_key, похоже, вы пытаетесь передать объект str, где вы должны передавать объект bytes в encrypt().

...