Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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)