用python实现RSA加密算法
时间: 2023-09-27 13:05:28 浏览: 168
可以使用Python中的pycryptodome库来实现RSA加密算法。
具体实现步骤如下:
1. 安装pycryptodome库
在终端中使用以下命令安装pycryptodome库:
```
pip install pycryptodome
```
2. 生成RSA密钥对
使用pycryptodome库中的RSA模块生成RSA密钥对,代码示例如下:
```python
from Crypto.PublicKey import RSA
# 生成RSA密钥对
key = RSA.generate(2048)
private_key = key.export_key()
public_key = key.publickey().export_key()
# 将密钥保存到文件中
with open('private.pem', 'wb') as f:
f.write(private_key)
with open('public.pem', 'wb') as f:
f.write(public_key)
```
这段代码生成了一个2048位的RSA密钥对,并将私钥和公钥保存到了文件中。
3. 使用RSA加密和解密
使用pycryptodome库中的RSA模块进行加密和解密,代码示例如下:
```python
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
# 加载公钥
with open('public.pem', 'rb') as f:
key = RSA.import_key(f.read())
# 加密数据
cipher = PKCS1_OAEP.new(key)
data = b'hello world'
encrypted_data = cipher.encrypt(data)
# 加载私钥
with open('private.pem', 'rb') as f:
key = RSA.import_key(f.read())
# 解密数据
cipher = PKCS1_OAEP.new(key)
decrypted_data = cipher.decrypt(encrypted_data)
print(decrypted_data) # 输出 b'hello world'
```
这段代码使用了先前生成的公钥对数据进行了加密,并使用私钥对加密后的数据进行了解密。最后输出的数据应该与原始数据相同。
以上就是使用Python实现RSA加密算法的示例代码。
阅读全文