m1k*_*3y3 4 python cryptography aes malformed
下面的代码示例在加密/解密操作后没有返回原始文本,我正在尝试找出原因
from Crypto.Cipher import AES
text = """This is plain text
to use.
It should be exqctly 128 characters long to avoid padding and it is split
with new lines as in
file"""
password = "password........"
block = 32
mode = AES.MODE_CBC
enc = AES.new(password, mode)
encrypted = enc.encrypt(text)
print "ORIGINAL: " + text
print "ENCRYPTED: " + str(encrypted)
print "DECRYPTED: " + str(enc.decrypt(encrypted))
Run Code Online (Sandbox Code Playgroud)
谁能告诉为什么文本的第一部分格式不正确?
我认为,您需要重置初始化向量(IV),以获得所需的结果。最简单的方法可能是创建一个新的 AES 对象来解密:
enc = AES.new(password, mode)
encrypted = enc.encrypt(text)
print "ORIGINAL: " + text
print "ENCRYPTED: " + str(encrypted)
dec = AES.new(password, mode)
print "DECRYPTED: " + str(dec.decrypt(encrypted))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3837 次 |
| 最近记录: |