rsa 加解密的库使用 pip3 install rsa
生成公钥私钥:
import rsa
public, private = rsa.newkeys(1024) # 生成公钥、私钥
private = private.save_pkcs1() # 保存为 .key 格式
a=open("private.key", "wb")
a.write(private) # 保存私钥
print(private)
a.close()
public = public.save_pkcs1() # 保存为 .cer 格式
a=open("public.cer", "wb")
a.write(public) # 保存公钥
print(public)
a.close()
加解密案例:
import rsa
data='dsfasfasdfasdfasdfadfadfasfafdadfasdf' #需要传输的数据
data_encode = data.encode("utf-8") #将数据进行utf8编码
with open("private.key", "rb") as x:
private_key = x.read()
private_key = rsa.PrivateKey.load_pkcs1(private_key) # 加载私钥
with open("public.cer", "rb") as x:
public_cer = x.read()
public_cer = rsa.PublicKey.load_pkcs1(public_cer) # 加载公钥
public_date = rsa.encrypt(data_encode, public_cer) # 使用公钥加密
#print(public_date.encode("utf-8"))
print(public_date) #加密后的数据
data = rsa.decrypt(public_date, private_key) # 使用私钥解密
print(data)
print(data.decode('utf-8')) #解密后的数据
sign = rsa.sign(data_encode, private_key, "SHA-256") # 使用私钥进行'sha256'签名
verify = rsa.verify(data_encode, sign, public_cer) # 使用公钥验证签名
print(verify)
输出结果