Cyber Screenshot Encryptor GUI App in Python – FuzzuTech

 Demo :


Click Video πŸ‘‡πŸ‘‡πŸ‘‡






























  • Features:

  1. Capture screenshot with PyAutoGUI

  2. Encrypt it using cryptography (Fernet)

  3. GUI powered by customtkinter

  4. Auto-delete unencrypted file

  5. Encrypted output .png.enc format

  6. Secure, offline, lightweight utility


Code :


import customtkinter as ctk

import pyautogui

from cryptography.fernet import Fernet

from PIL import Image

import time

import os


# --- Utility Functions ---


def generate_key():

    key = Fernet.generate_key()

    with open("secret.key", "wb") as key_file:

        key_file.write(key)


def load_key():

    return open("secret.key", "rb").read()


def capture_screenshot():

    timestamp = time.strftime("%Y%m%d-%H%M%S")

    filename = f"screenshot_{timestamp}.png"

    screenshot = pyautogui.screenshot()

    screenshot.save(filename)

    return filename


def encrypt_file(filename):

    key = load_key()

    fernet = Fernet(key)

    with open(filename, "rb") as file:

        original = file.read()

    encrypted = fernet.encrypt(original)

    encrypted_filename = filename + ".enc"

    with open(encrypted_filename, "wb") as encrypted_file:

        encrypted_file.write(encrypted)

    os.remove(filename)

    return encrypted_filename


# --- GUI Setup ---


ctk.set_appearance_mode("System")  # "Dark", "Light", "System"

ctk.set_default_color_theme("dark-blue")  # Theme colors


app = ctk.CTk()

app.geometry("480x360")

app.title("πŸ” Screenshot Encryptor")


def take_and_encrypt():

    generate_key()

    screenshot_file = capture_screenshot()

    encrypted_file = encrypt_file(screenshot_file)

    status_label.configure(text=f"Encrypted ➜ {os.path.basename(encrypted_file)} ✅")


# Title

title_label = ctk.CTkLabel(

    app,

    text="Cyber Screenshot Encryptor",

    font=ctk.CTkFont("Roboto", 24, "bold")

)

title_label.pack(pady=25)


# Button

encrypt_btn = ctk.CTkButton(

    app,

    text="πŸ“Έ Capture & Encrypt Screenshot",

    font=ctk.CTkFont("Arial", 16),

    command=take_and_encrypt

)

encrypt_btn.pack(pady=30)


# Status Label

status_label = ctk.CTkLabel(

    app,

    text="",

    font=ctk.CTkFont("Consolas", 12),

    text_color="green"

)

status_label.pack(pady=10)


# Run

app.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)