A Flask web application that encrypts files before storage and handles user authentication.
- Upload and download files (automatically encrypted/decrypted)
- User login/logout with password hashing
- File management interface
- Admin user management
- Fernet encryption for stored files
- Python 3.8+
- pip
-
Clone and navigate to the project:
git clone <repository-url> cd Secure_File_storage_Facial_recognition
-
Create virtual environment:
python -m venv venv venv\Scripts\activate # Windows source venv/bin/activate # macOS/Linux
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
cd WebApp python main.py
Access at http://localhost:5000
WebApp/
├── main.py # Entry point
├── website/
│ ├── __init__.py # Flask app
│ ├── auth.py # Authentication
│ ├── views.py # Routes
│ ├── models.py # Database models
│ └── templates/ # HTML files
└── instance/
├── database.db # SQLite database
├── key.txt # Encryption key
└── uploads/ # Encrypted files
- Sign up with email and password
- Login to access the file drive
- Upload files (encrypted automatically)
- Download files (decrypted automatically)
- Admins can manage users
- Files are encrypted with Fernet before storage
- Passwords are hashed with PBKDF2-SHA256
- Database and encryption key created automatically
- Backup
instance/key.txt- losing it makes files unrecoverable