Получение исключения: тип объекта <class 'str'> не может быть передан в код C - PullRequest
1 голос
/ 06 марта 2019

Я устанавливаю pip install pycryptodome на Python 3.7.2. Я получаю выше исключение для obj = AES.new (ключ, AES.MODE_CBC, iv) строки. мой код:

from Crypto import Random
from Crypto.Cipher import AES
import random

def get_encryption():
    try:
        str = "This is input string"

        key = b'abcdefghijklmnop'  
        iv = Random.new().read(AES.block_size)

        obj = AES.new(key, AES.MODE_CBC, iv)
        encrypted = obj.encrypt(str)
        print(encrypted)
    except Exception as e:
        print(e)

Я пытался изо всех сил, но не понимал, как ее решить.

1 Ответ

0 голосов
/ 07 марта 2019

После того, как все перепробовал, я получил решение Я преобразовал ключевую строку в байты. код:

from Crypto import Random
from Crypto.Cipher import AES
import random

def get_encryption():
    try:
        strmsg = "This is input string"

        key = 'abcdefghijklmnop'  
        key1 = str.encode(key)

        iv = Random.new().read(AES.block_size)

        obj = AES.new(key1, AES.MODE_CBC, iv)
        encrypted = obj.encrypt(str.encode(strmsg))
        print(encrypted)
    except Exception as e:
        print(e)
...