python3.10 RSA
时间: 2023-08-25 22:07:43 浏览: 114
RSA是一种非对称加密算法,用于保护数据的机密性和完整性。在Python 3.10中,可以使用pycryptodome库来实现RSA算法。
首先,安装pycryptodome库:
```
pip install pycryptodome
```
然后,可以使用以下代码生成RSA密钥对:
```python
from Crypto.PublicKey import RSA
# 生成1024位RSA密钥对
key = RSA.generate(1024)
# 获取私钥和公钥
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)
```
接下来,可以使用以下代码来加密和解密数据:
```python
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
# 读取私钥和公钥
with open('private.pem', 'rb') as f:
private_key = RSA.import_key(f.read())
with open('public.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()) # 输出: Hello, world!
```
注意,RSA算法适用于加密较小的数据,一般不超过密钥长度。如果需要加密/解密大数据,可以使用对称加密算法(如AES)加密数据,然后使用RSA算法加密对称密钥。
阅读全文