A secure, client-side encrypted file transfer web app built with Python and Flask.
Think “mini WeTransfer” but with
hacker-grade protection: every file is encrypted using AES before upload and decrypted only after download.
- 🔐 Client-side AES encryption using cryptography.fernet
- 📤 Upload & encrypt any file (images, PDFs, docs, zips, etc.)
- 📥 Decrypt & download encrypted .enc files back to their original form
- 🧠 Stylish hacker-inspired UI with Matrix aesthetics
- 💾 File integrity via .key file + Flask routes
- 🔐 Secure folder storage for original, encrypted, and decrypted assets
- Flask web routing
- AES encryption (Fernet)
- File I/O in Python
- Secure file handling logic
- Frontend + backend integration
- Cyber-themed UI/UX
Layer | Tech Used |
---|---|
Backend | Python 3.11, Flask |
Encryption | AES (Fernet - cryptography ) |
Frontend | HTML, inline CSS |
UI Theme | Hacker/Cyberpunk Matrix style |
secure-file-transfer/
│
├── static/ # Logo assets, CSS if needed
├── templates/ # HTML (index.html)
├── uploads/ # Raw uploaded files
├── encrypted/ # AES encrypted versions
├── decrypted/ # Final decrypted files
├── encryption_utils.py # Core AES logic
├── generate_key.py # One-time key generation
├── app.py # Flask server logic
├── filekey.key # 🔐 Auto .gitignored
├── requirements.txt # Dependencies
└── README.md # This file
- Clone & Activate Environment
git clone https://github.com/DecryptMike/Secure-File-Transfer.git
cd Secure-File-Transfer
python3 -m venv venv
source venv/bin/activate
- Install Requirements
pip install -r requirements.txt
- Generate Encryption Key (Run Once)
python generate_key.py
This creates a filekey.key (auto .gitignored) — keep this safe!
- Launch the Web App
python app.py
- Then visit: http://127.0.0.1:5000
- User uploads a file → it’s encrypted client-side with AES.
- App stores .enc version in /encrypted
- Download & send .enc file
- Recipient uploads it back → file is decrypted only with matching key
To demonstrate real-world cybersecurity fundamentals — encryption, secure file transfer, and web-based automation. It’s also a perfect portfolio piece for recruiters to showcase Flask + encryption + frontend integration in a clean, branded UI.
This project is for educational use only. Do not use this in production without enhancements such as:
- Authenticated sessions
- Key rotation
- Secure HTTPS hosting