python常用加解密算法
时间: 2024-12-30 21:01:01 浏览: 6
Python中常用的加解密算法包括对称加密算法和非对称加密算法。
1. 对称加密算法:
- **AES (Advanced Encryption Standard)**:是最常用的加密标准之一,如PyCrypto库中的`cryptography`模块提供了支持。
- **DES (Data Encryption Standard)**:虽然已被AES取代,但在一些老旧系统中还有应用。
- **CBC (Cipher Block Chaining)** 和 **CFB (Cipher Feedback)**:这两种模式通常配合AES使用,用于处理连续的数据块。
2. 非对称加密算法:
- **RSA**: Python的标准库`cryptography`就包含了RSA的支持,它是一种基于大数因子分解困难性的公钥加密技术。
- **ElGamal**: 另一种非对称加密算法,同样在`cryptography`中能找到实现。
3. Hash函数(散列函数):
- **MD5** 和 **SHA-1**:虽然不再推荐在生产环境中使用,因为它们的安全性较低,但历史项目可能会遇到。
- **SHA-2**(如SHA-256、SHA-384等):现代更安全的选择,Python的`hashlib`库提供支持。
4. 加密/解密库示例:
```python
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.primitives.asymmetric import rsa, padding
# 对称加密示例(AES)
cipher = Cipher(algorithms.AES(key), mode=modes.CBC(iv))
encryptor = cipher.encryptor()
...
# RSA非对称加密示例
public_key, private_key = rsa.generate_public_private_key(
public_exponent=65537,
key_size=2048
)
encrypted_data = public_key.encrypt(plaintext, padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None))
```
阅读全文