我正在尝试使用pyaes
进行AES加密。在
我下面的代码运行得很好。在
text = 'Hello world !!!!'
encrypter = pyaes.AESModeOfOperationCBC('my_test_key_0001', 'my_test_vec_0001')
encrypted = base64.b64encode(encrypter.encrypt(text))
print(encrypted)
但是,当我将文本值更改为
text = 'rO0ABXVyAAJbQqzzF/gGCFTgAgAAeHAAAAAI3z7LN2KbyKE='
它返回错误。在
^{2}$我不是AES
方面的专家,所以可能缺少基本知识。在
我不能使用pycrypto
,因为我正在为红移开发{
^{} 只允许对正好一个块(16字节)长的文本进行加密。对于较长的文本,必须使用BlockFeeder:
块进料器还自动执行padding。填充是将数据添加到消息末尾,直到长度与块长度的整数倍相对应(通常很重要,但与示例无关,因为已经满足长度条件)。在
编辑:
^{pr2}$Encrypter#feed(<plaindata>)
缓冲明文,加密除最后一个块(如果最后一个块已完成)或最后两个块(如果最后一个块不完整)之外的数据,并返回加密的数据。最后一个Encrypter#feed()
调用发出明文结束的信号,触发剩余部分的填充和加密,并返回加密的数据。这可能是 下面的代码片段说明了这一点:在本例中,最后一个纯文本块是不完整的。如果纯文本的最后一个块已经完成,则填充一个额外的完整块。这里使用的填充是PKCS7。在
相关问题 更多 >
编程相关推荐