我在将密钥转换为16位时尝试过md5和sha256,但是在加密之后,如果我要通过第三方解密器https://www.browserling.com/tools/aes-decrypt对其进行验证,则结果将不起作用。>
我的目标是使用python解密js版本。
[为js版本添加了另一个链接。https://jsfiddle.net/korvacs/4obfkxm7/17/
Python代码:
from Crypto.Cipher import AES from Crypto import Random import hashlib from base64 import b64encode key = "lazydog".encode("utf-8") key = hashlib.sha256(key).digest() iv = Random.new().read(AES.block_size) cipher = AES.new(key, AES.MODE_CBC, iv) msg = iv + cipher.encrypt('Attack at dawn') print(b64encode(msg).decode('utf-8'))
有人可以帮我吗?我的加密能力不是很好。
我在将密钥转换为16位时尝试了md5和sha256,但是在加密之后,如果我要通过第三方解密器https://www.browserling.com/tools/aes-decrypt对其进行验证,则结果将不起作用...
我正在使用PBKDF2生成IV和密钥。这是一个好习惯。我们不需要转移IV: