Cyber Screenshot Encryptor GUI App in Python – FuzzuTech
Demo :
Click Video πππ
Features:
-
Capture screenshot with PyAutoGUI
-
Encrypt it using cryptography (Fernet)
-
GUI powered by customtkinter
-
Auto-delete unencrypted file
-
Encrypted output
.png.enc
format -
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
Post a Comment