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

Popular posts from this blog

πŸš€ Simple Login & Registration System in Python Tkinter πŸ“±

πŸš€ Create a Python Screen Recorder with Audio (Complete Code)

Python IP Tracker App with GUI | Track IP Location Real-Time! (Working Project)