This Flask web application allows users to securely encrypt and decrypt files using a passphrase. The encryption key is derived from the user-provided passphrase using PBKDF2 with a random salt, ensuring stronger security.
Users can:
- Upload a file and provide a passphrase to receive an encrypted version of the file.
- Decrypt an encrypted file by providing the same passphrase.
- Python 3.8+
- pip
1. Clone the Repository:
git clone https://github.com/saniyafatima07/SecureUpload.git2. Direct to the repository:
cd SecureUpload3. Create virtual environment:
python3 -m venv venv3. Activate virtual environment:
Linux/macOS:
source venv/bin/activateWindows:
.\venv\Scripts\Activate4. Install dependencies:
pip install -r requirements.txt5. Run the application
python app.pyOnce the application is running, open your browser and navigate to: http://127.0.0.1:5000/
- Passphrase-based encryption key derivation using PBKDF2 with SHA-256.
- Random salt generation stored alongside the encrypted data.
- Fully secure as the original files and passphrase is not stored anywhere else.
- Encryption and decryption with Fernet symmetric encryption.
- File upload and download handled securely via Flask's cryptographic library.
Please remember your passphrase, as it is required to decrypt your file.
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.