A simple application for encrypting and decrypting files using password-based symmetric encryption (Fernet/AES).
Now available as both a desktop GUI (PyQt5) and a web app (Streamlit) for browser-based use.
This project is available on Hackr.io
File Encrytion Tool
- Encrypt any file with a password
- Decrypt encrypted files with the same password
- Simple, modern GUI (PyQt5) or web interface (Streamlit)
- Cross-platform (Windows, macOS, Linux)
git clone https://github.com/QMS85/FileEncryptionTool.git
cd FileEncryptionTool
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
If requirements.txt
is not present, install manually:
pip install pyqt5 cryptography streamlit
streamlit run web_app.py
- Open the provided local URL in your browser (or use the "Open in Browser" button in Codespaces Ports tab).
- Upload a file, enter a password, and choose to encrypt or decrypt.
python app.py
- Only works on local machines with a desktop environment.
- Not supported in Codespaces browser.
- Open the app (web or desktop).
- Enter a password in the input field.
- Select a file to encrypt or decrypt.
- Click Encrypt file or Decrypt file as needed.
- Encrypted files will have a
.enc
extension. Decrypted files will be saved without.enc
.
- Streamlit web app is recommended for Codespaces and browser-based use.
- PyQt5 desktop GUI requires a local desktop environment.
- This tool uses password-based encryption with Fernet (AES-128 in CBC mode with HMAC).
- Never lose your password! Files cannot be decrypted without it.
- For sensitive or production use, review the code and cryptography practices.
MIT License
Jonathan Peters