python基于RSA的非对称加密体制
时间: 2023-07-06 07:08:54 浏览: 53
Python中实现基于RSA的非对称加密体制需要用到Cryptodome库。下面是一个简单的示例:
1. 生成公钥和私钥
```python
from Crypto.PublicKey import RSA
# 生成密钥对
key = RSA.generate(2048)
# 获取私钥并保存
private_key = key.export_key()
with open('private.pem', 'wb') as f:
f.write(private_key)
# 获取公钥并保存
public_key = key.publickey().export_key()
with open('public.pem', 'wb') as f:
f.write(public_key)
```
2. 加密和解密数据
```python
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5
# 加载公钥
with open('public.pem', 'rb') as f:
public_key = RSA.import_key(f.read())
# 加密数据
cipher = PKCS1_v1_5.new(public_key)
encrypted_data = cipher.encrypt(b'Hello, world!')
# 加载私钥
with open('private.pem', 'rb') as f:
private_key = RSA.import_key(f.read())
# 解密数据
cipher = PKCS1_v1_5.new(private_key)
decrypted_data = cipher.decrypt(encrypted_data, None)
print(decrypted_data.decode())
```
在这个例子中,我们首先生成了公钥和私钥。然后,使用公钥加密数据,并使用私钥解密数据。加密和解密过程中使用PKCS#1 v1.5填充方式。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)