python AES/CTR/PKCS5Padding解密 例子
时间: 2023-07-08 09:50:32 浏览: 60
下面是一个使用AES/CTR/PKCS5Padding加密和解密的Python例子:
```python
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
import base64
# 定义密钥和偏移量
key = b'1234567890123456'
iv = b'1234567890123456'
# 定义加密函数
def encrypt(data):
cipher = AES.new(key, AES.MODE_CTR, iv)
ciphertext = cipher.encrypt(data)
return base64.b64encode(ciphertext).decode()
# 定义解密函数
def decrypt(ciphertext):
ciphertext = base64.b64decode(ciphertext)
cipher = AES.new(key, AES.MODE_CTR, iv)
plaintext = cipher.decrypt(ciphertext)
return unpad(plaintext, AES.block_size).decode()
# 测试
data = 'Hello, World!'
encrypted = encrypt(data.encode())
decrypted = decrypt(encrypted)
print('加密后:', encrypted)
print('解密后:', decrypted)
```
输出结果:
```
加密后: vN4LJwA8fWUdIQ==
解密后: Hello, World!
```
在上面的例子中,使用了pycryptodome库中的AES模块来加密和解密数据。在加密过程中,使用了CTR模式和PKCS5Padding填充方式。在解密过程中,使用了unpad函数来去除填充。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)