Skip to content

Commit cd66c75

Browse files
committed
How To Create Encryption And Decryption App - Python #Tkinter GUI
How To Create Encryption And Decryption App - Python #Tkinter GUI
1 parent 9ea5251 commit cd66c75

8 files changed

Lines changed: 149 additions & 0 deletions

File tree

.idea/.gitignore

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/.name

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/Project_Default.xml

Lines changed: 33 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/profiles_settings.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/python.studio.iml

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

main.py

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
from tkinter import *
2+
import pybase64
3+
from tkinter import messagebox
4+
5+
root = Tk()
6+
root.geometry("500x400")
7+
8+
9+
def clear():
10+
# Clear boxes
11+
my_text.delete(1.0, END)
12+
my_entry.delete(0, END)
13+
14+
15+
def encrypt():
16+
# Get text from text box
17+
secret = my_text.get(1.0, END)
18+
# Clear the text box
19+
my_text.delete(1.0, END)
20+
21+
# Logic for password
22+
if my_entry.get() == "turtle":
23+
# Convert to byte
24+
secret = secret.encode("ascii")
25+
# Convert to base64
26+
secret = pybase64.b64encode(secret)
27+
# Convert it back to ascii
28+
secret = secret.decode("ascii")
29+
# Print to text box
30+
my_text.insert(END, secret)
31+
32+
else:
33+
# Flash a message if wrong password
34+
messagebox.showwarning("Incorrect!", "Incorrect Password, Try Again!")
35+
36+
37+
def decrypt():
38+
# Get text from text box
39+
secret = my_text.get(1.0, END)
40+
# Clear the screen
41+
my_text.delete(1.0, END)
42+
43+
# Logic for password
44+
if my_entry.get() == "elder":
45+
# Convert to byte
46+
secret = secret.encode("ascii")
47+
# Convert to base64
48+
secret = pybase64.b64decode(secret)
49+
# Convert it back to ascii
50+
secret = secret.decode("ascii")
51+
# Print to text box
52+
my_text.insert(END, secret)
53+
54+
else:
55+
# Flash a message if wrong password
56+
messagebox.showwarning("Incorrect!", "Incorrect Password, Try Again!")
57+
58+
59+
my_frame = Frame(root)
60+
my_frame.pack(pady=20)
61+
62+
enc_button = Button(my_frame, text="Encrypt", font=("Helvetica", 18), command=encrypt)
63+
enc_button.grid(row=0, column=0)
64+
65+
dec_button = Button(my_frame, text="Decrypt", font=("Helvetica", 18), command=decrypt)
66+
dec_button.grid(row=0, column=1, padx=20)
67+
68+
clear_button = Button(my_frame, text="Clear", font=("Helvetica", 18), command=clear)
69+
clear_button.grid(row=0, column=2)
70+
71+
enc_label = Label(root, text="Encrypt/Decrypt Text...", font=("Helvetica", 14))
72+
enc_label.pack()
73+
74+
my_text = Text(root, width=57, height=10)
75+
my_text.pack(pady=10)
76+
77+
password_label = Label(root, text="Enter Your Password...", font=("Helvetica", 14))
78+
password_label.pack()
79+
80+
my_entry = Entry(root, font=("Helvetica", 18), width=35, show="*")
81+
my_entry.pack(pady=10)
82+
83+
root.mainloop()

0 commit comments

Comments
 (0)