PassBot-789 is a secure password manager designed for the CMPT-789 Applied Cryptography course project, taking inspiration from KeePassXC. It offers a reliable solution for managing passwords securely. The tool stores encrypted data in (.csv) database files. The database can be accessed using a master password. The application employs AES-256 encryption in CBC mode, using a 32-byte key generated by hashing the master password with SHA-256. This key is then employed for data encryption, with a randomly generated Initialization Vector (IV) for each new database file. Encrypted data is stored in a CSV file within the project directory, and access to this database relies on the user remembering their master password.
- Clone the repository:
git clone <repository-url>
- Navigate to the project directory:
cd PassBot-789
- Install dependencies:
npm install
- Run the application:
npm start
- Follow on-screen instructions to create a new database or open an existing one.
- Manage passwords through interactive menus.
- Create New Database: Create a new password database with a master password.
- Open Existing Database: Access an existing password database by providing the master password.
- View Entries: Display a list of stored credentials, with an option to copy passwords to the clipboard.
- Add New Entry: Introduce a new entry with a title, username, and a user-defined or randomly generated password.
- Delete Entry: Remove a stored entry from the database.
- Generate Random Password: Optionally create a random password with default settings (16 characters, including uppercase, lowercase alphabet, and special characters).
- Encryption: Implements AES-256 encryption in CBC mode, with a SHA-256 hashed master password and a randomly generated Initialization Vector (IV) for each new database file.
- Create New Database
- Open Existing Database
- Exit
- View Entries
- Add New Entry
- Delete Entry
- Back
- Encryption Algorithm: AES-256 in CBC mode
- Key Derivation Function: SHA-256 hash of the master password
- Initialization Vector (IV): Randomly generated for each new database file created
This project is licensed under the MIT License.
Note: PassBot-789 is developed for educational purposes and is inspired by the features of Keepass. It does not guarantee the highest level of security. Use it at your own risk.