rsa_加密_采用海龟画图做为UI版.py

"""rsa_加密_采用海龟画图做为UI版.py"""

from turtle import *
from tkinter import messagebox
import rsa                               # 通过 pip install rsa 安装rsa模块

title = "rsa加密"

(pubkey, privkey) = rsa.newkeys(1024)    # 生成密钥,包括公钥和私钥,

f = open("public.pem",mode='w')
f.write(pubkey.save_pkcs1().decode())    # 保存公钥到文件中,谁都可以用它加密
f.close()

f = open('private.pem',mode= 'w')
f.write(privkey.save_pkcs1().decode())   # 保存私钥到文件中,有私钥的人才能打开加密的文本
f.close()

screen = Screen()
screen.bgcolor("black")
screen.title(title)
message = screen.textinput(title,"请输入一段文字")

if message:
    crypto_text = rsa.encrypt(message.encode(), pubkey) #用公钥加密

    messagebox.showinfo(title,"以下是加密后的文本:")
    print(crypto_text)

    f = open("rsa加密码后文本.dat",mode = 'wb')
    f.write(crypto_text)
    f.close()
else:
    messagebox.showinfo(title,"你没有输入文字。")

screen.exitonclick()
screen.mainloop()
     

"""
公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),
公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。
通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。
比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。

"""