aes python
时间: 2023-10-29 13:00:17 浏览: 158
在Python中使用AES加密算法,你需要安装相应的模块。在Windows下,你需要安装pycryptodome模块,可以使用以下命令进行安装:pip install pycryptodome。在Linux下,你需要安装pycrypto模块,可以使用以下命令进行安装:pip install pycrypto。
AES加密中,CBC模式是一种常用的加密模式,它需要一个16位的密钥和一个初始向量(IV)。你可以使用以下代码片段来进行AES加密和解密:
```python
from Crypto.Cipher import AES
import base64
def encrypt(key, plaintext):
cipher = AES.new(key, AES.MODE_CBC, IV)
ciphertext = cipher.encrypt(plaintext)
return base64.b64encode(ciphertext).decode('utf-8')
def decrypt(key, ciphertext):
cipher = AES.new(key, AES.MODE_CBC, IV)
plaintext = cipher.decrypt(base64.b64decode(ciphertext))
return plaintext.decode('utf-8')
key = b'0123456789abcdef' # 16字节的密钥
IV = b'1234567890abcdef' # 16字节的初始向量
plaintext = 'Hello, World!'
ciphertext = encrypt(key, plaintext)
decrypted_text = decrypt(key, ciphertext)
print("加密后的文本:", ciphertext)
print("解密后的文本:", decrypted_text)
```
请注意,密钥和初始向量的长度必须为16字节(128位)。你可以根据需要更改密钥和初始向量的值。在上面的代码中,我们使用了base64编码来对密文进行编码和解码,以便于在存储和传输过程中处理。
希望这对你有帮助!如果还有其他问题,请随时提问。
阅读全文