HashBite is a powerful, locally running AES-based encryption tool designed to help franchise-based businesses (especially in the Food & Beverage industry) secure their secret recipes, documents, and sensitive data.
The system supports manual encryption, JSON key packaging, and secure file handling, making it ideal for multi-branch companies where the HQ retains key authority, and franchises can decrypt only what they’re permitted to — all without using the cloud.
- 🔐 AES-256 Encryption (CBC Mode)
- 📤 Encrypt/Decrypt text or binary files (PDFs, DOCX, etc.)
- 📁 Downloadable encrypted JSON files with key, IV & metadata
- 📂 Upload JSON key files for secure decryption
- 🖥️ Streamlit-powered local GUI — no cloud, no API required
- 🔄 Dual-mode key input (manual or key file upload)
- 💼 Tailored for franchise communication and controlled recipe distribution
HashBite/
├── backend/
│ ├── encryption/
│ │ ├── __init__.py
│ │ └── aes_handler1.py # Core AES encryption/decryption logic
│
├── frontend/
│ └── app/
│ └── a2.py # Streamlit UI for text and file encryption
│
├── data/
│ ├── recipes/
│ └── encrypted/
│
├── tests/
│ └── test_aes.py
│
├── requirements.txt # Dependencies
├── README.md # This documentation
└── .gitignore
- Handles AES encryption/decryption in CBC mode
- Supports:
encrypt(),decrypt()for textencrypt_file(),decrypt_file()for binary files
- Uses IV and PKCS7 padding
- Key is returned/stored in Base64
- Clean tabbed interface
- Tabs:
Encrypt/Decrypt TextEncrypt FilesDecrypt Files
- Allows file encryption and decryption using
.jsonpackages
- OS: Ubuntu / Windows / macOS
- RAM: 4GB+ recommended
- Python 3.10+
pycryptodomestreamlit
Install via:
pip install -r requirements.txtgit clone https://github.com/samnaveenkumaroff/HashBite.git
cd HashBiteconda create -n hashbite_env python=3.10
conda activate hashbite_envpip install -r requirements.txtstreamlit run frontend/app/a2.py- Type your secret text
- Click Encrypt
- Download the
.jsonkey file
- Upload a file (PDF, DOCX, etc.)
- Click Encrypt File
- Download
.jsonfile with:- Ciphertext
- IV
- Key
- Original Filename
- MIME type
- Upload the
.jsonkey file - Click Decrypt File
- Download original decrypted file
- 🍔 HQ encrypts the recipe and sends
.jsonfile to franchise - 🧑🍳 Franchise decrypts using the file inside HashBite UI
- 📦 No source file ever exposed
- 🔐 Key & IV stay hidden unless explicitly shared
- AES-256 with random IV for each encryption
- No key stored — it's passed securely via
.json - Supports zero-knowledge sharing across branches
- Local-first: everything stays on your device
Run unit tests:
python tests/test_aes.py- ✅ Role-based access control using ABE
- ✅ Visual dashboard for file/key management
- 🌐 Secure LAN-based franchise key server (optional)
- 📱 Mobile interface with QR code key import
Apache 2.0 License
Sam Naveenkumar V
Email: samnaveenkumaroff@gmail.com
Linkedin: samnaveenkumaroff
GitHub: @samnaveenkumaroff
- Karunya Institute of Technology and Sciences
- Open Source Python Community
- Streamlit & PyCryptodome Contributors
