python数据加解密
时间: 2023-10-26 13:56:07 浏览: 153
使用python对信息进行加密和解密
在Python中进行数据加解密,可以使用各种加密算法和库来实现。以下是一些常用的加密算法和对应的库:
1. 对称加密算法:
- AES算法:使用`pycryptodome`库进行加解密,示例代码请参考前面提到的AES CBC模式加密示例。
- DES算法:使用`pycryptodome`库进行加解密,示例代码类似于AES的示例,只需将`AES`替换为`DES`即可。
2. 非对称加密算法:
- RSA算法:使用`cryptography`库进行加解密。
```python
from cryptography.hazmat.primitives import serialization, hashes
from cryptography.hazmat.primitives.asymmetric import padding
from cryptography.hazmat.backends import default_backend
# 生成公钥和私钥
private_key = rsa.generate_private_key(
public_exponent=65537,
key_size=2048,
backend=default_backend()
)
public_key = private_key.public_key()
# 加密数据
data = b"Hello, World!"
encrypted_data = public_key.encrypt(
data,
padding.OAEP(
mgf=padding.MGF1(algorithm=hashes.SHA256()),
algorithm=hashes.SHA256(),
label=None
)
)
# 解密数据
decrypted_data = private_key.decrypt(
encrypted_data,
padding.OAEP(
mgf=padding.MGF1(algorithm=hashes.SHA256()),
algorithm=hashes.SHA256(),
label=None
)
)
print("解密后的数据:", decrypted_data)
```
3. 散列算法(哈希函数):
- MD5算法:使用`hashlib`库进行散列。
```python
import hashlib
data = "Hello, World!".encode('utf-8')
hashed_data = hashlib.md5(data).hexdigest()
print("散列后的数据:", hashed_data)
```
这些是一些常用的加密算法和库,可以根据具体需求选择适合的加密算法和相应的库进行数据加解密操作。
阅读全文