哈希加密
MD5
1 | import hashlib |
SHA256
1 | import hashlib |
对称加密 (AES)
1 | from Crypto.Cipher import AES |
非对称加密 (RSA)
1 | from Crypto.PublicKey import RSA |
Base64 编码解码
1 | import base64 |
URL 编码解码
1 | from urllib.parse import quote, unquote |
参数说明
AES 参数
key
: 密钥,必须是 16/24/32 字节iv
: 初始化向量,必须是 16 字节MODE_CBC
: 加密模式,需要 ivblock_size
: 块大小,AES 固定为 16 字节
RSA 参数
2048
: 密钥长度,越长越安全但性能越差PKCS1_v1_5
: 填充方案,确保加密数据长度一致
注意事项
哈希加密
- 不可逆,常用于密码存储
- 可以加盐(salt)增加安全性
- MD5 已不安全,建议使用 SHA256
对称加密
- 加密解密使用相同密钥
- 适合大量数据加密
- 需要安全传输密钥
非对称加密
- 公钥加密,私钥解密
- 适合小数据量加密
- 性能较差
Base64
- 不是加密,只是编码
- 用于二进制数据转文本
- 数据会增大约 33%
总结
- 密码存储:使用 SHA256 + 盐
- 大量数据:使用 AES 对称加密
- 密钥传输:使用 RSA 非对称加密
- 二进制转文本:使用 Base64
- URL 安全传输:使用 URL 编码