GIF Encryptor/Decryptor App π | FuzzuTech Python GUI
Demo :
Click Video πππ
πΈ Post (Intro):
Experience a new level of Python file security with this GIF Encryptor/Decryptor App built using tkinter
and Fernet
. With a sleek GUI and real encryption logic, this tool brings cybersecurity into your hands. Encrypt any .gif
with just one click!
πΈ Features:
-
π Encrypt & decrypt GIF files securely
-
π§ Powered by Fernet key-based encryption
-
π¨ Dark mode GUI using
tkinter
-
πΎ 100% Offline
-
π§π» Ideal for Python GUI project portfolios
Code :
import tkinter as tk
from tkinter import filedialog, messagebox
from cryptography.fernet import Fernet
import os
import shutil
class GIFEncryptorDecryptorApp:
def __init__(self, root):
self.root = root
self.root.title("π GIF Encrypt / Decrypt")
self.root.geometry("600x400")
self.root.configure(bg="#1e1e1e")
self.key_entry = tk.Entry(root, font=("Arial", 14), show="*", width=40)
self.key_entry.insert(0, "Enter secret key")
self.key_entry.pack(pady=15)
self.encrypt_btn = tk.Button(root, text="Encrypt GIF", bg="#3498db", fg="white",
font=("Arial", 14), command=self.encrypt_gif)
self.encrypt_btn.pack(pady=10)
self.decrypt_btn = tk.Button(root, text="Decrypt GIF", bg="#2ecc71", fg="white",
font=("Arial", 14), command=self.decrypt_gif)
self.decrypt_btn.pack(pady=10)
def encrypt_gif(self):
filepath = filedialog.askopenfilename(filetypes=[("GIF files", "*.gif")])
if not filepath:
return
key = self.key_entry.get().encode()
try:
fernet = Fernet(key)
except:
messagebox.showerror("Error", "Invalid Key Format")
return
with open(filepath, 'rb') as file:
original = file.read()
encrypted = fernet.encrypt(original)
out_path = filepath.replace(".gif", "_encrypted.gif")
with open(out_path, 'wb') as enc_file:
enc_file.write(encrypted)
messagebox.showinfo("Success", f"GIF Encrypted:\n{out_path}")
def decrypt_gif(self):
filepath = filedialog.askopenfilename(filetypes=[("GIF files", "*.gif")])
if not filepath:
return
key = self.key_entry.get().encode()
try:
fernet = Fernet(key)
except:
messagebox.showerror("Error", "Invalid Key Format")
return
try:
with open(filepath, 'rb') as enc_file:
encrypted = enc_file.read()
decrypted = fernet.decrypt(encrypted)
out_path = filepath.replace("_encrypted.gif", "_decrypted.gif")
with open(out_path, 'wb') as dec_file:
dec_file.write(decrypted)
messagebox.showinfo("Success", f"GIF Decrypted:\n{out_path}")
except:
messagebox.showerror("Error", "Wrong key or Corrupt File!")
if __name__ == "__main__":
key = Fernet.generate_key()
print(f"Generated Key (Store this safely!): {key.decode()}")
root = tk.Tk()
app = GIFEncryptorDecryptorApp(root)
root.mainloop()
Comments
Post a Comment