An interactive web app built with Python and Streamlit that generates passwords in three styles: random, memorable (word-based), and numeric PIN.
.
├── README.md
├── requirements.txt
└── src
├── password_generator.py
├── dashboard.py
└── images/
src/password_generator.py: the password generator classesPinGeneratorPassword,RandomPasswordGenerator, andMemorablePasswordGeneratorsrc/dashboard.py: the Streamlit web interfacesrc/images/: images used by the dashboardrequirements.txt: project dependencies
| Generator | Description |
|---|---|
PinGeneratorPassword |
Numeric PIN of a chosen length |
RandomPasswordGenerator |
Random letters, with optional numbers and symbols |
MemorablePasswordGenerator |
Several dictionary words joined by a separator, with optional random capitalization |
Example:
from src.password_generator import RandomPasswordGenerator
generator = RandomPasswordGenerator(
length=12,
include_numbers=True,
include_symbols=True
)
print(generator.generator())git clone https://github.com/mahnazghssm/Password-Generator.git
cd Password-Generator
pip install -r requirements.txtThe NLTK words corpus is downloaded automatically the first time you run the project.
Run the dashboard:
streamlit run src/dashboard.pyThis opens the app in your browser on localhost.
To try the generators in the terminal:
python src/password_generator.pyThis project is licensed under the MIT License.