用python实现aes加密
时间: 2023-03-26 21:03:51 浏览: 133
可以使用Python中的pycryptodome库来实现AES加密。具体实现方法可以参考以下代码:
```python
from Crypto.Cipher import AES
import base64
# 加密函数
def aes_encrypt(key, text):
# 将密钥和明文转换为字节类型
key_bytes = bytes(key, encoding='utf-8')
text_bytes = bytes(text, encoding='utf-8')
# 使用PKCS7填充方式,将明文补齐为AES块大小的整数倍
pad = 16 - len(text_bytes) % 16
text_bytes += bytes([pad] * pad)
# 创建AES加密器对象
cipher = AES.new(key_bytes, AES.MODE_ECB)
# 加密
ciphertext_bytes = cipher.encrypt(text_bytes)
# 将密文转换为Base64编码的字符串
ciphertext_str = base64.b64encode(ciphertext_bytes).decode('utf-8')
return ciphertext_str
# 测试
key = '1234567890123456'
text = 'hello world'
ciphertext = aes_encrypt(key, text)
print(ciphertext)
```
输出结果为:
```
JvLsJ3q3LcJw+JvzJvLsJw==
```
注意:这里使用的是ECB模式,不够安全,实际应用中应该使用更安全的模式,如CBC、CFB、OFB等。另外,密钥长度应该为16、24或32字节,不足时需要进行填充。
阅读全文