Skip to content

A Python-based security tool that evaluates password strength using advanced criteria and provides detailed feedback for creating secure passwords. Perfect for security-conscious applications and educational purposes.

Notifications You must be signed in to change notification settings

Gyde04/password_strength_analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

🔒 Password Strength Analyzer

📖 Overview

Password Strength Analyzer is a robust, Python-based security tool designed to evaluate password strength using comprehensive criteria. It supports both users and developers in creating and validating secure passwords through industry-standard security checks and detailed feedback.


🌟 Key Features

  • Advanced Length Validation: Ensures password length meets security standards.
  • 🔍 Multi-Factor Complexity Analysis: Checks for uppercase, lowercase, numbers, and special characters.
  • 🚫 Pattern Recognition & Prevention: Flags common patterns that weaken passwords.
  • 📊 Vulnerability Assessment: Compares passwords against known weak or vulnerable lists.
  • 💯 Detailed Scoring System: Provides an overall security score.
  • 📝 Actionable Security Feedback: Offers specific improvement suggestions.

🛠️ Installation

  1. Clone the Repository

    git clone https://github.com/yourusername/password-strength-analyzer.git
  2. Navigate to Project Directory

    cd password-strength-analyzer
  3. Install Dependencies

    pip install -r requirements.txt

💻 Usage

Basic Implementation

Use the following code snippet to analyze password strength programmatically:

from password_analyzer import PasswordStrengthAnalyzer

# Initialize analyzer
analyzer = PasswordStrengthAnalyzer()

# Analyze password
result = analyzer.analyze_password("YourPassword123!")

# Get results
print(f"Strength Score: {result['score']}/100")
print(f"Feedback: {result['feedback']}")

Command-Line Interface (CLI)

Analyze a password directly from the command line:

python password_analyzer.py --password "YourPassword123!"

📊 Scoring Criteria

Criterion Points Description
Length 20 Minimum 8 characters
Complexity 30 Mix of character types
Patterns 25 Absence of common patterns
Dictionary 25 Resistance to dictionary attacks

Score Interpretation

  • 🔴 0-20: Very Weak
  • 🟠 21-40: Weak
  • 🟡 41-60: Moderate
  • 🟢 61-80: Strong
  • 🔵 81-100: Very Strong

🔍 Security Features

  • Character Complexity
    • Uppercase Letters (A-Z)
    • Lowercase Letters (a-z)
    • Numbers (0-9)
    • Special Characters (!@#$%^&*)
  • Pattern Detection
    • Keyboard Patterns (e.g., qwerty, 12345)
    • Repeated Characters
    • Sequential Patterns
    • Common Word Substitutions

🤝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository.
  2. Create your feature branch:
    git checkout -b feature/AmazingFeature
  3. Commit your changes:
    git commit -m 'Add some AmazingFeature'
  4. Push to the branch:
    git push origin feature/AmazingFeature
  5. Open a Pull Request for review.

About

A Python-based security tool that evaluates password strength using advanced criteria and provides detailed feedback for creating secure passwords. Perfect for security-conscious applications and educational purposes.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages