A simple password manager written in Python using Flask, bcrypt, and cryptography. The application supports:
- User registration and login.
- Storing, uploading, searching, viewing, and removing passwords.
- Checking password strength.
- Encrypting passwords with a key from
key.key.
- main.py – Bootstraps the Flask application.
- user_manager.py – Manages user registration, login, and data storage.
- user.py – Defines a
Userclass that interacts with the password manager. - password_manager.py – Performs password storage, encryption/decryption, and strength checking.
- requirements.txt – Lists Python dependencies.
templates/– Contains HTML templates for the Flask routes (home, login, register, dashboard, navigation, upload).passwords/– Stores user-specific JSON files with encrypted passwords.- users.csv – Stores hashed user credentials.
-
Clone the repository:
git clone https://github.com/JavienTJE/DIS cd DIS -
Install dependencies:
pip install -r requirements.txt
-
(Optional) Update the secret key:
If needed, update the secret key in main.py.
-
Run the Flask application:
Either run:
python main.py
or use the VS Code debugger by selecting Python Debugger: Flask.
-
Open your browser:
Navigate to http://127.0.0.1:5000.
-
Register a New User:
Open the Register page and create a new account.
-
Log In and Manage Passwords:
After logging in via the Login page, use the Dashboard to:
- Add Passwords: Securely store credentials.
- Generate Passwords: Create strong passwords for new accounts.
- View Passwords: Retrieve and check the strength of stored passwords.
- Remove Passwords: Delete credentials as needed.
- Search Passwords: Find specific credentials.
-
Encryption:
Passwords are encrypted using the key in
key.key.
- Passwords are saved in the passwords directory as JSON files (e.g.
a_passwords.json,test_passwords.json, etc.) that are managed by thepassword_manager.py. - For user data handling, refer to the logic in
user_manager.pyanduser.py.
If you encounter issues or wish to contribute, please open an issue or contact the project maintainers.
Enjoy using DIS Password Manager!