Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,18 @@ This project is a password strength evaluation system that leverages over 14 mil
Passwords are a fundamental pillar of internet security, required for access to nearly every online service and digital activity. Despite strict, rule-based policies enforced by most platforms, many passwords remain vulnerable to automated attacks, as they can be easily guessed by algorithmic methods. Traditional cracking tools like Hashcat and John the Ripper are now supplemented by advanced probabilistic modeling techniques, such as Probabilistic Context‑Free Grammar (PCFG).

This system addresses these challenges by applying extensive feature engineering on the RockYou dataset and training an XGBoost regression model with over twenty features, providing a reliable and practical method to evaluate password strength based on real-world cracking techniques.
## 🏗️ Project Architecture

This application has been recently updated to support a single-page application (SPA) architecture using **React Router v6**.

### 🛣️ Routing Structure
The application utilizes client-side routing to manage navigation between different modules without refreshing the page.

- **Home (`/`)**: The main dashboard for password strength evaluation.
- **About (`/about`)**: Detailed information regarding the project's security goals and team.
- **How It Works (`/how-it-works`)**: Technical breakdown of the XGBoost machine learning model and dataset.

### 🧩 Component Overview
- **`App.js`**: The root component managing the `BrowserRouter` and high-level route definitions.
- **`Navbar`**: Provides global navigation links using the `<Link>` component for SEO-friendly, internal transitions.
- **`/pages` Directory**: Contains the standalone view components imported into the main router.