In this video we’ll build a Base64 Encrypt and Decrypt tool for Tkinter and Python.
Converting text to Binary is pretty easy with Python and Tkinter. In this video we’ll create an encrypter and decrypter tool using pybase64.
You’ll need to pip install pybase64.
Python Code: enc.py
(Github Code)
from tkinter import * import pybase64 from tkinter import messagebox root = Tk() root.title('Codemy.com - Encrypt/Decrpt Base64') root.iconbitmap('c:/gui/codemy.ico') root.geometry("500x400") def clear(): #Clear boxes my_text.delete(1.0, END) my_entry.delete(0, END) def encrypt(): # Get text from text box secret = my_text.get(1.0, END) # Clear the text box my_text.delete(1.0, END) # Logic for password if my_entry.get() == "elder": # Convert to byte secret = secret.encode("ascii") # Convert to base64 secret = pybase64.b64encode(secret) # Convert it back to ascii secret = secret.decode("ascii") # Print to text box my_text.insert(END, secret) else: # Flash a message if wrong password messagebox.showwarning("Incorrect!", "Incorrect Password, Try Again!") def decrypt(): # Get text from text box secret = my_text.get(1.0, END) # Clear the screen my_text.delete(1.0, END) # Logic for password if my_entry.get() == "elder": # Convert to byte secret = secret.encode("ascii") # Convert to base64 secret = pybase64.b64decode(secret) # Convert it back to ascii secret = secret.decode("ascii") # Print to text box my_text.insert(END, secret) else: # Flash a message if wrong password messagebox.showwarning("Incorrect!", "Incorrect Password, Try Again!") my_frame = Frame(root) my_frame.pack(pady=20) enc_button = Button(my_frame, text="Encrypt", font=("Helvetica", 18), command=encrypt) enc_button.grid(row=0, column=0) dec_button = Button(my_frame, text="Decrypt", font=("Helvetica", 18), command=decrypt) dec_button.grid(row=0, column=1, padx=20) clear_button = Button(my_frame, text="Clear", font=("Helvetica", 18), command=clear) clear_button.grid(row=0, column=2) enc_label = Label(root, text="Encrypt/Decrypt Text...", font=("Helvetica", 14)) enc_label.pack() my_text = Text(root, width=57, height=10) my_text.pack(pady=10) password_label = Label(root, text="Enter Your Password...", font=("Helvetica", 14)) password_label.pack() my_entry = Entry(root, font=("Helvetica", 18), width=35, show="*") my_entry.pack(pady=10) root.mainloop()
Add comment