使用tkinter库创建一个加解密的图形化界面
时间: 2024-02-17 07:37:22 浏览: 160
好的,我可以为您提供一些代码供您参考:
```python
import tkinter as tk
from cryptography.fernet import Fernet
class App:
def __init__(self, master):
self.master = master
self.master.title("加解密")
self.key_label = tk.Label(self.master, text="密钥:")
self.key_label.pack()
self.key_entry = tk.Entry(self.master, show="*")
self.key_entry.pack()
self.input_label = tk.Label(self.master, text="输入:")
self.input_label.pack()
self.input_text = tk.Text(self.master, height=5)
self.input_text.pack()
self.output_label = tk.Label(self.master, text="输出:")
self.output_label.pack()
self.output_text = tk.Text(self.master, height=5, state="disabled")
self.output_text.pack()
self.encrypt_button = tk.Button(self.master, text="加密", command=self.encrypt)
self.encrypt_button.pack()
self.decrypt_button = tk.Button(self.master, text="解密", command=self.decrypt)
self.decrypt_button.pack()
def encrypt(self):
key = self.key_entry.get().encode()
f = Fernet(key)
message = self.input_text.get("1.0", "end-1c").encode()
encrypted_message = f.encrypt(message)
self.output_text.config(state="normal")
self.output_text.delete("1.0", "end")
self.output_text.insert("1.0", encrypted_message.decode())
self.output_text.config(state="disabled")
def decrypt(self):
key = self.key_entry.get().encode()
f = Fernet(key)
encrypted_message = self.input_text.get("1.0", "end-1c").encode()
decrypted_message = f.decrypt(encrypted_message)
self.output_text.config(state="normal")
self.output_text.delete("1.0", "end")
self.output_text.insert("1.0", decrypted_message.decode())
self.output_text.config(state="disabled")
root = tk.Tk()
app = App(root)
root.mainloop()
```
这个界面使用了Tkinter库来创建,同时使用了`cryptography`库中的`Fernet`类来进行加解密操作。界面包括输入密钥、输入明文/密文、加密/解密按钮和输出明文/密文。您可以根据自己的需求进行修改。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)