Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dwija12903/password-strength-checker
A Model to evaluate the strength of passwords and enhance security for your applications.
https://github.com/dwija12903/password-strength-checker
matplotlib pandas scikit-learn seaborn xgboost
Last synced: 26 days ago
JSON representation
A Model to evaluate the strength of passwords and enhance security for your applications.
- Host: GitHub
- URL: https://github.com/dwija12903/password-strength-checker
- Owner: dwija12903
- License: mit
- Created: 2024-09-08T22:53:19.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-09-08T23:04:57.000Z (about 2 months ago)
- Last Synced: 2024-09-30T09:04:20.282Z (about 1 month ago)
- Topics: matplotlib, pandas, scikit-learn, seaborn, xgboost
- Language: Jupyter Notebook
- Homepage:
- Size: 6.14 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## π‘οΈ Password Strength Checker
### π Description
This project is a machine learning model that checks the strength of passwords using the **XGBoost** algorithm. It classifies passwords into three categories: **Weak**, **Moderate**, and **Strong** based on their complexity and security. You can use this model to evaluate the strength of passwords and enhance security for your applications.
### π Dataset
The passwords used in our analysis come from the **000webhost leak** dataset available online, containing more than **6.6 million unique passwords**.
### β¨ Key Features
- **Data Preparation:** Loads and preprocesses password data from a CSV file (`data.csv`).
- **Feature Extraction:** Utilizes `TfidfVectorizer` to convert passwords into numerical features.
- **Model Training:** Applies the **XGBoost** algorithm to classify password strength.
- **Evaluation and Visualization:** Visualizes results using libraries like `matplotlib` and `seaborn`.### π οΈ Requirements
- Python 3.9 or higher
- Required libraries: `pandas`, `matplotlib`, `seaborn`, `scikit-learn`, `xgboost`, `dill`### π Installation
To run this password strength checker on your local machine, follow these steps:
1. **Clone the Repository:**
```bash
git clone https://github.com/dwija12903/password-strength-checker.git
cd password-strength-checker
```2. **Install Dependencies:**
You can install all required libraries by running:
```bash
pip install -r requirements.txt
```3. **Run the Application:**
To start the application, run:
```bash
python app.py
```### π Usage
1. **Run the Notebook:**
Open the Jupyter Notebook (`model.ipynb`) and run all cells to train the model and evaluate password strength.2. **Visualize the Results:**
The notebook includes plots and visualizations to interpret the modelβs performance.### π Data
The data used for this project is loaded from a CSV file named `data.csv`. This file contains password samples with corresponding labels indicating their strength.
### π Snippets
![Password Strength Checker](image.png)
##### It was developed as part of academic projects in the Information Security subject. [Report](https://github.com/dwija12903/password-strength-checker/blob/main/Project_Report.pdf)