python crypto模块安装
时间: 2023-07-02 13:19:34 浏览: 273
在 Python 中,`crypto` 模块不是 Python 标准库的一部分,需要额外安装。常用的安装方式是使用 `pip` 包管理器,在终端中执行以下命令即可完成安装:
```
pip install pycrypto
```
安装完成后,你可以在 Python 代码中使用 `crypto` 模块提供的加密和解密算法。以下是一个使用 `AES` 算法进行加密和解密的示例代码:
```python
from Crypto.Cipher import AES
import base64
# 加密函数
def encrypt(text, key):
# 填充文本
text = text + (16 - len(text) % 16) * chr(16 - len(text) % 16)
# 初始化加密器
aes = AES.new(key, AES.MODE_ECB)
# 加密
encrypted_text = aes.encrypt(text)
# base64 编码
encrypted_text = base64.b64encode(encrypted_text)
return encrypted_text
# 解密函数
def decrypt(encrypted_text, key):
# base64 解码
encrypted_text = base64.b64decode(encrypted_text)
# 初始化解密器
aes = AES.new(key, AES.MODE_ECB)
# 解密
decrypted_text = aes.decrypt(encrypted_text)
# 去除填充
decrypted_text = decrypted_text[:-ord(decrypted_text[-1])]
return decrypted_text
# 测试
text = 'Hello, world!'
key = 'secret key 123'
encrypted_text = encrypt(text, key)
decrypted_text = decrypt(encrypted_text, key)
print('加密前的文本:', text)
print('加密后的文本:', encrypted_text)
print('解密后的文本:', decrypted_text)
```
需要注意的是,在使用 `AES` 加密算法时,需要使用一个长度为 16、24 或 32 的密钥,对于不同的密钥长度,使用的加密模式也不同。在上述示例代码中,我们使用的是 `ECB` 模式。如果需要使用其他加密算法或加密模式,你可以查看官方文档或其他相关文档进行学习。
阅读全文