rsa算法 python
时间: 2023-07-10 18:41:02 浏览: 118
使用python实现rsa算法代码
RSA算法是一种非对称加密算法,常用于信息加密和数字签名。在Python中,可以使用PyCryptodome库来实现RSA算法。下面是一个简单的示例:
首先,需要安装PyCryptodome库。可以使用以下命令进行安装:
```
pip install pycryptodome
```
然后,可以使用以下代码生成RSA公钥和私钥:
```python
from Crypto.PublicKey import RSA
# 生成2048位的RSA密钥对
key = RSA.generate(2048)
# 获取公钥和私钥
private_key = key.export_key()
public_key = key.publickey().export_key()
# 将公钥和私钥保存到文件中
with open('private_key.pem', 'wb') as f:
f.write(private_key)
with open('public_key.pem', 'wb') as f:
f.write(public_key)
```
接下来,可以使用以下代码进行加密和解密:
```python
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
# 加载私钥
with open('private_key.pem', 'rb') as f:
private_key = RSA.import_key(f.read())
# 加载公钥
with open('public_key.pem', 'rb') as f:
public_key = RSA.import_key(f.read())
# 加密数据
cipher = PKCS1_OAEP.new(public_key)
encrypted_data = cipher.encrypt(b'Hello, world!')
# 解密数据
cipher = PKCS1_OAEP.new(private_key)
decrypted_data = cipher.decrypt(encrypted_data)
print(decrypted_data.decode())
```
在加密数据时,需要使用公钥进行加密;在解密数据时,需要使用私钥进行解密。注意,加密的数据必须是字节类型。
阅读全文