Cipher Vault is a command-line password manager built using Python.
The project evolved from a basic file-based system to a database-backed application. It allows users to securely store and manage credentials using encryption, with support for CRUD operations and search functionality.
Passwords are never stored in plain text and require a PIN for access.
This project has two versions:
- Stores data in a local file
- Uses JSON for persistence
- Demonstrates file handling and basic encryption
- Uses MySQL database for storage
- Implements CRUD operations using SQL
- Adds search functionality
- Improved structure and real-world relevance
- Add, update, delete, and view credentials
- Encrypted password storage (XOR-based)
- PIN-based password access
- Search credentials by website
- Menu-driven CLI interface
- Database integration (MySQL version)
- Language: Python
- Database: MySQL (for upgraded version)
- Storage (basic version): JSON
- Interface: Command-Line Interface (CLI)
cipher-vault/
│
├── json-version/
│ ├── main.py
│ └── password_manager.txt
│
├── mysql-version/
│ ├── main.py
│ ├── db.py
│
├── images/
│ ├── json/
│ ├── mysql/
│
└── README.md
CREATE DATABASE cipher_vault;
CREATE TABLE credentials (
id INT AUTO_INCREMENT PRIMARY KEY,
website VARCHAR(255),
username VARCHAR(255),
password TEXT
);
Update db.py:
host="localhost",
user="root",
password="your_password",
database="cipher_vault"
python main.py
Main Menu:
Accessing Password:
Main Menu:
Database View:
Accessing Password:
This project uses a basic XOR-based reversible encryption method.
encrypted = ord(char) ^ key
decrypted = chr(encrypted ^ key)
Passwords are stored in encrypted form and converted using JSON for database compatibility.
Note: This method is for learning purposes and not suitable for production use.
- CLI-based application development
- File handling and JSON processing
- Database integration with MySQL
- CRUD operations using SQL
- Basic encryption techniques
- Code modularization and structure improvement
- Strong encryption (Fernet)
- User authentication system
- Web-based interface using Flask
Bhushan Bhutada Computer Engineering Student




