If youβve ever needed a simple, secure way to encrypt files and folders, this project might be exactly what youβre looking for.
Introducing FileCryptor β a modern Python desktop app that lets you encrypt and decrypt files with strong password-based security, all wrapped in a clean GUI.
π Get it here: https://gum.new/gum/cmkncobmj001h04jr8ecl39l9
π What is FileCryptor?
FileCryptor is a desktop encryption tool built with:
π Python
πΌ Tkinter + ttkbootstrap UI
π cryptography library (Fernet + PBKDF2HMAC)
It allows you to:
Encrypt files & folders recursively
Decrypt them safely with the same password
Use drag & drop for fast workflows
Monitor progress in real time
π Why This Tool Matters
Security tools are often:
Too complex β
Too technical β
Or just ugly β
FileCryptor focuses on:
β Simplicity
β Strong encryption
β Clean UI
β Real usability
π How Encryption Works
This tool uses industry-standard cryptography:
- Password-Based Key Derivation Uses PBKDF2HMAC (SHA-256) 390,000 iterations Adds strong resistance against brute-force attacks
- Random Salt Per File Each file gets a unique 16-byte salt Prevents identical files from producing identical outputs
- Secure Encryption Uses Fernet (AES-based encryption) Ensures confidentiality + integrity β¨ Key Features π Encrypt Entire Folders Recursively processes all files No need to manually select each file π± Drag & Drop Support Just drop files/folders into the app Instant queueing π Password Protection Password confirmation dialog Strength indicator: Weak Medium Strong β± Real-Time Progress Progress bar + logs Smooth UI thanks to threading β Cancel Anytime Stop long operations safely π§Ή Clean Logs Built-in log viewer Clear logs with one click π‘ Example Workflow Drag a folder into FileCryptor Click Encrypt Files/Folders Enter a strong password Files are encrypted with .enc extension
Later:
Select encrypted files
Click Decrypt
Enter the same password
Files are restored π
π§ Smart Design Choices
π Multithreading
Keeps the UI responsive during long operations.
π Recursive File Handling
Automatically processes nested directories.
π Safe Decryption
Skips invalid files
Prevents crashes on corrupted data
π¦ Supported Files
Short answer: everything.
You can encrypt:
π Documents (PDF, DOCX, TXT)
πΌ Images (PNG, JPG)
π΅ Media (MP3, MP4)
π» Code (PY, JSON, CSV)
If itβs a file β it works.
π Tech Stack
Python 3
Tkinter
ttkbootstrap
cryptography
tkinterdnd2
π₯ Code Highlights
Secure Key Derivation
def derive_key(password: str, salt: bytes) -> bytes:
kdf = PBKDF2HMAC(
algorithm=hashes.SHA256(),
length=32,
salt=salt,
iterations=390_000,
backend=default_backend()
)
return base64.urlsafe_b64encode(kdf.derive(password.encode()))
Encryption Flow
salt = os.urandom(16)
key = derive_key(password, salt)
fernet = Fernet(key)
encrypted_data = fernet.encrypt(data)
Decryption Flow
salt = data[:16]
encrypted_data = data[16:]
key = derive_key(password, salt)
fernet = Fernet(key)
decrypted_data = fernet.decrypt(encrypted_data)
β οΈ Important Notes
π If you lose your password β your data is gone
There is no recovery mechanism (by design, for security)
π₯ Get FileCryptor
π Download here:
https://gum.new/gum/cmkncobmj001h04jr8ecl39l9
π¬ Final Thoughts
FileCryptor is a great example of how you can combine:
Security π
Usability π§βπ»
Clean UI π¨
β¦into a practical tool people can actually use.
If you're building Python desktop apps, this project is also a solid reference for:
Tkinter architecture
Threading patterns
Real-world cryptography usage

Top comments (0)