Шифр AssertionError в django

Итак, я хочу зашифровать текст в аудио mp3. но когда я запускаю код, появляется сообщение об ошибке Exception Type: AssertionError. И говорится, что ошибка в

assert len(key) == key_bytes

может кто-нибудь проверить, в чем ошибка функции? Я хочу зашифровать с помощью AES 128 и 256, пожалуйста, помогите мне.

from Crypto.Cipher import AES
from Crypto.Util import Counter
from Crypto import Random
import binascii

key_bytes = 16
# Takes as input a 32-byte key and an arbitrary-length plaintext and returns a
# pair (iv, ciphtertext). "iv" stands for initialization vector.
def encrypt(key, testaudio):
    assert len(key) == key_bytes
    print(testaudio)
    print(key)
    # Choose a random, 16-byte IV.
    iv = Random.new().read(AES.block_size)

    # Convert the IV to a Python integer.
    iv_int = int(binascii.hexlify(iv), 16)

    # Create a new Counter object with IV = iv_int.
    ctr = Counter.new(AES.block_size * 8, initial_value=iv_int)

    # Create AES-CTR cipher.
    aes = AES.new(key, AES.MODE_CTR, counter=ctr)

    # Encrypt and return IV and ciphertext.
    ciphertext = aes.encrypt(testaudio)
    print(iv)
    print(ciphertext)
    return (iv, ciphertext)

Вы определили значение key_bytes как 16, но в вашей функции encrypt вы используете assert для проверки того, что длина key при вызове функции равна 7 (длина слова "testing"), либо вы изменяете значение key_bytes, либо изменяете значение key, которое вы передаете при вызове вашей функции.

Вернуться на верх