Video Demo: Password Manager
I have a problem with managing passwords:
- Each site uses a different password.
- I don't want to save my password in a file with the original password
- If encrypt passwords, I want to have a master password with a key
Finally got idea after a few articles I read. The solution is a Password Manager with authentication using PBKDF2. In python, so many package for password encryption but i use crytography because this package easy for encrypt and decrypt.
This project is the development of a simple Password Manager created using the Python programming language. The Password Manager operates as a Command-Line Interface (CLI) application. Its primary purpose is to encrypt and securely store passwords entered by the user. The passwords are encrypted using the PBKDF2 algorithm before being saved in a CSV file.
- PBKDF2 Encryption: User-entered passwords are encrypted using the PBKDF2 algorithm, enhancing security by generating a strong cryptographic hash.
- CSV Storage: Encrypted passwords are stored in a CSV file. Each entry includes details such as the service name, username, and the encrypted password.
- CLI-Based Interaction: The Password Manager operates through the command line, offering an interactive user experience for adding, deleting, and viewing stored passwords.
- Enhanced Display: The application uses the
tabulate
library for formatted display of password information andpyfiglet
for ASCII art headers
project.py
: Main application file containing the Password Manager's logic.test_project.py
: Test functions file to ensure the correct functionality of the Password Manager.master.key
: File to store the encrypted master keyused by the user.This file is automatically generated after successfully authentication.password.csv
: CSV file used for storing encrypted password data. This file is automatically generated after encrypting passwords.README.md
: Documentation file containing project information, installation guide, and usage instructions.
- Python 3.7: Ensure Python 3.7 is installed on your system.
- Dependency Installation: Navigate to the project directory and execute the following command to install required dependencies:
pip install -r requirements.txt
- Running the Application: Open a terminal and navigate to the project directory. Execute the following command to start the application:
python project.py
Community contributions are welcome. Create pull requests in the project's repository to contribute.