Skip to content

Commit e6d0d48

Browse files
committed
Docs: Add README with usage and project overview
1 parent 02c5c14 commit e6d0d48

File tree

1 file changed

+114
-0
lines changed

1 file changed

+114
-0
lines changed

Secure_Password_Manager/README

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# 🔐 Secure Password Manager (CLI + GUI)
2+
3+
This is a simple and secure Password Manager built with Python. It includes both a **Tkinter-based GUI (Graphical User Interface)** and a **CLI (Command Line Interface)** version.
4+
5+
---
6+
7+
## 📌 Features
8+
9+
* ✅ Generate strong, random passwords
10+
* ✅ Choose what characters to include (lowercase, uppercase, digits, special characters)
11+
* ✅ Real-time password strength feedback
12+
* ✅ Save passwords with labels (e.g., Gmail, Netflix)
13+
* ✅ Encode/Encrypt passwords for security
14+
* ✅ View saved passwords with automatic decryption
15+
* ✅ GUI built using Python's `tkinter` library
16+
* ✅ CLI version with command-line options using `argparse`
17+
18+
---
19+
20+
## 💡 How It Works
21+
22+
### Tkinter GUI
23+
24+
The graphical interface is built using `tkinter`, Python’s standard GUI toolkit. It provides a clean interface for generating, encrypting, and viewing passwords.
25+
26+
### Generate Password
27+
28+
1. Choose the password length.
29+
2. Select character types using checkboxes.
30+
3. Hit the **Generate Password** button.
31+
4. The password is displayed with its strength (Weak, Medium, or Strong).
32+
5. The password is then **encrypted** and saved to a file.
33+
34+
### View Saved Passwords
35+
36+
1. Click the **View Saved Passwords** button in the GUI.
37+
2. If the encryption key exists, the program decrypts and displays all saved passwords in a pop-up window.
38+
3. If the key is missing or corrupted, an error message is shown.
39+
40+
---
41+
42+
## 🛠️ Technologies Used
43+
44+
| Component | Tool/Library |
45+
|----------|--------------|
46+
| Programming Language | Python |
47+
| GUI Library | Tkinter |
48+
| Encryption | cryptography (Fernet) |
49+
| Encoding (CLI version) | base64 |
50+
| CLI Parser | argparse |
51+
| Version Control | Git |
52+
53+
---
54+
55+
## 🗃️ Project Structure
56+
57+
```bash
58+
Password_Manager/
59+
├── password_manager_gui.py # Tkinter-based GUI application
60+
├── password_manager_cli.py # CLI-based password generator
61+
├── view_passwords_cli.py # View decoded Base64 passwords (CLI)
62+
├── decrypt_passwords_cli.py # Decrypt encrypted passwords (CLI)
63+
├── saved_passwords.txt # File where encrypted passwords are saved
64+
├── secret.key # File containing Fernet encryption key
65+
├── README.md
66+
└── .gitignore
67+
```
68+
69+
---
70+
71+
## ⚠️ Security Note
72+
73+
This project uses **Fernet encryption** to protect your saved passwords.
74+
75+
Files like `secret.key` and `saved_passwords.txt` are excluded from version control using `.gitignore`.
76+
77+
> Do not share your `secret.key` with anyone. If you lose it, saved passwords cannot be decrypted.
78+
79+
---
80+
81+
## 🧠 Ideal For
82+
83+
- Python beginners learning `tkinter`
84+
- Students building secure Python projects
85+
- Learning encryption basics with `cryptography`
86+
- Practicing Git and GitHub workflow with versioned features
87+
88+
---
89+
90+
## ⚙️ Setup Instructions
91+
92+
1. Clone the repo
93+
`git clone https://github.com/Your-Username/Secure_Password_Manager.git`
94+
95+
2. Install dependencies
96+
`pip install cryptography`
97+
98+
3. Run GUI
99+
`python password_manager_gui.py`
100+
101+
4. Or use CLI
102+
`python password_manager_cli.py --length 12 --label Gmail --lower --upper --digits --specials`
103+
104+
---
105+
106+
## ⭐ GitHub Ready
107+
108+
This project was built using proper Git practices:
109+
110+
* Every feature added on a new branch
111+
* Meaningful commit messages
112+
* Clean merge history
113+
114+
---

0 commit comments

Comments
 (0)