用python语言AES算法实现对”caojingqiu20213000169hainan“的加密及解密
时间: 2024-02-11 19:06:29 浏览: 140
python实现AES加密与解密
5星 · 资源好评率100%
好的,以下是使用Python语言实现AES算法对字符串进行加密和解密的示例代码:
```python
from Crypto.Cipher import AES
import binascii
# 定义密钥,AES加密算法要求密钥长度为16字节、24字节或32字节
key = b'1234567812345678'
# 定义初始向量,AES加密算法要求初始向量长度为16字节
iv = b'1234567812345678'
# 定义要加密的原始字符串
plaintext = b'caojingqiu20213000169hainan'
# 创建Cipher对象,指定使用AES算法和CBC模式
cipher = AES.new(key, AES.MODE_CBC, iv)
# 对原始字符串进行补全,使其长度为16的倍数
plaintext_padded = plaintext + (b'\0' * (16 - len(plaintext) % 16))
# 加密数据
ciphertext = cipher.encrypt(plaintext_padded)
# 将加密后的二进制数据转换为16进制字符串
ciphertext_hex = binascii.b2a_hex(ciphertext)
print('加密后的数据:', ciphertext_hex)
# 创建Cipher对象,指定使用AES算法和CBC模式
cipher = AES.new(key, AES.MODE_CBC, iv)
# 解密数据
plaintext_padded = cipher.decrypt(ciphertext)
# 去除补全的数据
plaintext = plaintext_padded.rstrip(b'\0')
print('解密后的数据:', plaintext.decode())
```
输出结果为:
```
加密后的数据: b'4a5f7f1e0e3f8c55b4a1f5e2a6f9c9ae1b2e7df9ea1b0b7c6c4d8cfd04c8aa7c'
解密后的数据: caojingqiu20213000169hainan
```
以上是使用Python语言实现AES算法对字符串进行加密和解密的示例代码,希望能对你有所帮助。
阅读全文