如何制作密钥和填充? (AES-256)

时间:2018-12-30 04:14:27

标签: python python-3.x encryption cryptography aes

我正在尝试学习加密(特别是AES-256)。我找到了正在查看的代码,但是我试图弄清楚它是如何工作的。这是代码(我没有写这个):

from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
from base64 import b64encode, b64decode

key = '/I02fMuSSvnouuu+/vyyD7NuSEVDB/0gte/z50dM0b4='
data = 'test'
cipher = AES.new(b64decode(key), AES.MODE_CBC)
padded_data = pad(data.encode(), cipher.block_size)

print(b64encode(padded_data))

有人可以解释这里发生了什么吗?首先,我试图弄清楚key的作用。如果我正确理解它的话,它就像一个秘密,您不应该透露出来。您如何拿出自己的钥匙?我尝试随机输入一些内容,但出现一个错误,提示错误的 AES密钥长度。最后,我想确切地知道padded_data在做什么。这是什么使它加密吗?

0 个答案:

没有答案