Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🔐 Password Generator

A Python application for generating secure passwords using Object-Oriented Programming (OOP) and Abstract Base Classes (ABC). This project demonstrates inheritance, abstraction, and polymorphism by implementing multiple password generator classes.


✨ Features

  • Generate numeric passwords
  • Generate alphabetic passwords
  • Generate alphanumeric (mixed) passwords
  • Custom password length
  • Object-Oriented Programming (OOP)
  • Abstract Base Class (ABC) implementation
  • Simple and easy-to-understand project structure

🛠 Technologies Used

  • Python 3
  • Object-Oriented Programming (OOP)
  • Abstract Base Classes (abc)
  • random
  • string

📁 Project Structure

PasswordGenerator/
│
├── main.py
├── README.md
├── requirements.txt
└── .gitignore

🚀 Installation

Clone the repository:

git clone https://github.com/your-username/PasswordGenerator.git

Navigate to the project folder:

cd PasswordGenerator

No external dependencies are required.


▶️ Usage

Run the application:

python main.py

The program generates three different passwords:

  • Numeric password
  • Letter-only password
  • Mixed password (letters and numbers)

💻 Example Output

48291
gKdPw
H7sP2

Output will be different each time because the passwords are generated randomly.


🏗 Class Diagram

            Password (Abstract)
                   │
        ┌──────────┼──────────┐
        │          │          │
 NumberPassword LetterPassword MixedPassword

Each subclass implements its own version of the generate_password() method.


🔮 Future Improvements

  • Add special characters support
  • Password strength checker
  • Command-line arguments
  • Interactive user input
  • GUI version using Tkinter or PyQt
  • Save generated passwords to a file

📄 License

This project is licensed under the MIT License.

Feel free to use, modify, and improve this project for learning purposes.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages