我正在尝试在Python中实现此代码(我刚接触Python),但它给出了以下错误:
AttributeError: 'str'对象没有'decode'属性
如果我们删除.decode('hex')以避免此类错误:
AttributeError: 'str'对象没有'decode'属性
如果我们删除.decode('hex')以避免此类错误:
from itertools import product
from Crypto.Cipher import AES
import Crypto.Cipher.AES
key = ('2b7e151628aed2a6abf7158809cf4f3c').decode('hex')
IV = ('000102030405060708090a0b0c0d0e0f').decode('hex')
plaintext1 = ('6bc1bee22e409f96e93d7e117393172a').decode('hex')
plaintext2 = ('ae2d8a571e03ac9c9eb76fac45af8e51').decode('hex')
plaintext3 = ('30c81c46a35ce411e5fbc1191a0a52ef').decode('hex')
cipher = AES.new(key, AES.MODE_CBC, IV)
ciphertext = cipher.encrypt(plaintext1 + plaintext2 + plaintext3)
(ciphertext).encode('hex')
decipher = AES.new(key, AES.MODE_CBC, IV)
plaintext = decipher.decrypt(ciphertext)
(plaintext).encode('hex')
但是它给了我下面的错误:
ValueError: IV 必须有16个字节
因为该算法需要 .decode('hex')
,而我不得不将其删除。
from itertools import product
from Crypto.Cipher import AES
import Crypto.Cipher.AES
key = ('2b7e151628aed2a6abf7158809cf4f3c')
IV = ('000102030405060708090a0b0c0d0e0f')
plaintext1 = ('6bc1bee22e409f96e93d7e117393172a')
plaintext2 = ('ae2d8a571e03ac9c9eb76fac45af8e51')
plaintext3 = ('30c81c46a35ce411e5fbc1191a0a52ef')
cipher = AES.new(key,AES.MODE_CBC,IV)
ciphertext = cipher.encrypt(plaintext1 + plaintext2 + plaintext3)
(ciphertext).encode('hex')
decipher = AES.new(key,AES.MODE_CBC,IV)
plaintext = decipher.decrypt(ciphertext)
(plaintext).encode('hex')
有人知道我该怎么做才能让这段代码运行吗?