import rsa
# 生成密钥
(pubkey, privkey) = rsa.newkeys(1024)
# 保存密钥
with open('public.pem','w+') as f:
f.write(pubkey.save_pkcs1().decode())
with open('private.pem','w+') as f:
f.write(privkey.save_pkcs1().decode())
# 导入密钥
with open('public.pem','r') as f:
pubkey = rsa.PublicKey.load_pkcs1(f.read().encode())
with open('private.pem','r') as f:
privkey = rsa.PrivateKey.load_pkcs1(f.read().encode())
# 明文
message = '明文1'
# 加密得到密文
crypto_email_text = rsa.encrypt(message.encode(), pubkey)
print(message)
# 明文
message = '明文2'
# 签名
crypto_email_text = rsa.sign(message.encode(), privkey, 'SHA-1')
# 公钥验证
rsa.verify(message.encode(), crypto_email_text, pubkey)
# 生成密钥
(pubkey, privkey) = rsa.newkeys(1024)
# 保存密钥
with open('public.pem','w+') as f:
f.write(pubkey.save_pkcs1().decode())
with open('private.pem','w+') as f:
f.write(privkey.save_pkcs1().decode())
# 导入密钥
with open('public.pem','r') as f:
pubkey = rsa.PublicKey.load_pkcs1(f.read().encode())
with open('private.pem','r') as f:
privkey = rsa.PrivateKey.load_pkcs1(f.read().encode())
# 明文
message = '明文1'
# 加密得到密文
crypto_email_text = rsa.encrypt(message.encode(), pubkey)
print(crypto_email_text)
# 解密,就可得到明文
message = rsa.decrypt(crypto_email_text, privkey).decode()print(message)
# 明文
message = '明文2'
# 签名
crypto_email_text = rsa.sign(message.encode(), privkey, 'SHA-1')
# 公钥验证
rsa.verify(message.encode(), crypto_email_text, pubkey)