要解决这个问题,你可以使用以下代码示例:
import os
from Crypto.PublicKey import RSA
def generate_key_pair(alias):
key = RSA.generate(2048)
private_key = key.export_key()
public_key = key.publickey().export_key()
# 保存私钥到文件
with open(alias + "_private.pem", "wb") as f:
f.write(private_key)
# 保存公钥到文件
with open(alias + "_public.pem", "wb") as f:
f.write(public_key)
def load_private_key(alias):
private_key_path = alias + "_private.pem"
if not os.path.exists(private_key_path):
raise Exception("Private key file not found")
with open(private_key_path, "rb") as f:
private_key = RSA.import_key(f.read())
return private_key
# 生成密钥对
generate_key_pair("apollo")
# 加载私钥
private_key = load_private_key("apollo")
# 使用私钥进行加密/解密等操作
# ...
这段代码使用了Python的Crypto
库来生成RSA密钥对,并将私钥和公钥保存到文件中。generate_key_pair
函数接受一个别名(alias)作为参数,用于标识密钥对。私钥文件的命名规则为alias_private.pem
,公钥文件的命名规则为alias_public.pem
。
load_private_key
函数用于加载私钥文件。它首先检查私钥文件是否存在,如果不存在则抛出异常。然后使用RSA.import_key
方法加载私钥文件内容,并返回私钥对象。
你可以根据需要使用私钥对象进行加密、解密、签名等操作。