Password Strength Analyzer and Breach Checker is a cybersecurity-focused Java application designed to evaluate password security and identify passwords that appear in a breached password dataset.
The project demonstrates practical cybersecurity concepts including password security assessment, breach detection, secure database interaction, and user awareness mechanisms.
- Password Security Analysis
- Breached Password Detection
- Secure Database Queries using Prepared Statements
- Basic Security Risk Assessment
- Authentication Security Awareness
- Input Validation
- SQLite Database Security Integration
Evaluates password complexity based on:
- Password Length
- Uppercase Characters
- Lowercase Characters
- Numeric Characters
- Special Characters
Checks whether a password exists within a database of commonly breached passwords.
Provides suggestions to improve weak passwords and enhance account security.
Stores analysis results including:
- Password Strength
- Breach Status
- Analysis Records
Built using Java Swing with:
- Show/Hide Password Option
- Visual Strength Indicators
- Real-Time Feedback
| Component | Technology |
|---|---|
| Programming Language | Java |
| User Interface | Java Swing |
| Database | SQLite |
| Database Connectivity | JDBC |
| Development Environment | IntelliJ IDEA |
User Input
│
▼
Password Strength Analyzer
│
▼
Breach Checker
│
▼
Suggestions Engine
│
▼
Database Logger
│
▼
Result Display
src/main/java
│
├── Main.java
├── PasswordUI.java
├── PasswordStrengthChecker.java
├── BreachChecker.java
├── PasswordLogger.java
└── DBConnection.java
The application evaluates passwords using a rule-based scoring model that considers:
- Length Requirements
- Character Diversity
- Complexity Metrics
Passwords are compared against a breached-password dataset stored in SQLite.
Prepared Statements are used for database queries to reduce SQL Injection risks.
Example:
PreparedStatement pstmt =
conn.prepareStatement(query);| Password | Strength | Breached |
|---|---|---|
| 123 | Weak | No |
| password | Weak | Yes |
| Admin123 | Medium | No |
| Admin@123 | Strong | No |
| 123456 | Weak | Yes |
- SHA-256 Password Hashing
- Password Entropy Calculation
- Integration with Have I Been Pwned API
- Real-Time Breach Intelligence
- Advanced Password Policy Engine
- Security Analytics Dashboard
This project helped strengthen practical knowledge in:
- Secure Java Development
- JDBC and Database Integration
- Password Security Concepts
- Cybersecurity Fundamentals
- GUI Development
- Application Design
- Java 17 or higher
- Maven
- SQLite
- IntelliJ IDEA (recommended)
- Clone the repository
git clone https://github.com/sheikismailajmal/PasswordAnalyzer.git-
Open the project in IntelliJ IDEA
-
Wait for Maven dependencies to download
-
Ensure the SQLite database file (
passwords.db) is present in the project directory
- Navigate to:
src/main/java
- Run:
PasswordUI.java-
Enter a password in the application
-
View:
- Password Strength Analysis
- Breach Detection Status
- Security Recommendations
Password:
123456
Result:
Strength: Weak
Breached: Yes
Password:
Admin@123
Result:
Strength: Strong
Breached: No
Sheik Ismail Ajmal
MCA Cybersecurity
Jain University
GitHub: github.com/sheikismailajmal
This project is intended for educational and cybersecurity awareness purposes. It simulates breach detection using a local dataset and should not be considered a replacement for enterprise-grade password security solutions.




