rsa加密解密python
时间: 2024-12-17 14:27:10 浏览: 4
RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,常用于数据的安全传输。在Python中,你可以使用`cryptography`库来进行RSA的加密和解密操作。以下是基本步骤:
1. **安装库**:
首先需要安装`cryptography`库,可以使用pip命令:
```shell
pip install cryptography
```
2. **生成密钥对**:
```python
from cryptography.hazmat.primitives.asymmetric import rsa
from cryptography.hazmat.primitives import serialization
key = rsa.generate_private_key(
public_exponent=65537,
key_size=2048
)
private_key = key.private_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.PKCS8,
encryption_algorithm=serialization.NoEncryption()
)
public_key = key.public_key().public_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PublicFormat.SubjectPublicKeyInfo
)
```
这里生成了公钥和私钥。
3. **加密**:
使用接收者的公共钥对数据进行加密:
```python
ciphertext = public_key.decode("utf-8")
message = "Hello, world!".encode() # 要加密的数据
encrypted_message = key.encrypt(message)
```
4. **解密**:
使用发送者的私钥解密数据:
```python
decrypted_message = key.decrypt(encrypted_message)
decrypted_message = decrypted_message.decode()
```
5. **保存和加载密钥**:
如果需要长期存储,可以将私钥保存到文件并安全地加载回来。
阅读全文