AES在Cryptojs中加密,在Pycrypto中解密

问题描述 投票:1回答:1

我在将密钥转换为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对其进行验证,则结果将不起作用...

python encryption cryptography aes pycrypto
1个回答
2
投票

我正在使用PBKDF2生成IV和密钥。这是一个好习惯。我们不需要转移IV:

© www.soinside.com 2019 - 2024. All rights reserved.