A professional command-line password security assessment and generation tool that helps you analyze password strength and generate secure passwords.
- Password Strength Analysis: Comprehensive scoring system (0-100) based on length, character diversity, and complexity
- Breach Detection: Checks passwords against known data breaches using the HaveIBeenPwned API
- Secure Password Generation: Creates cryptographically secure passwords with customizable length
- Analysis History: Tracks your password analysis sessions locally
- Professional Interface: Clean, workplace-appropriate design with color-coded results
- Passwords are never stored or logged
- Uses SHA-1 hashing for breach detection (k-anonymity model)
- Cryptographically secure random password generation
- Local history storage with no external data transmission
- Python 3.6 or higher
- pip package manager
pip install -r requirements.txtgit clone https://github.com/username/passcheck.git
cd passcheck
pip install -r requirements.txt
python3 passcheck.pyRun the tool interactively:
python3 passcheck.pyGenerate a password directly:
# Generate 16-character password
python3 passcheck.py --generate 16
# Generate 20-character password
python3 passcheck.py -g 20--generate LENGTHor-g LENGTH: Generate a secure password of specified length--no-ambiguous: Exclude ambiguous characters (0OlI1) when generating passwords--version: Show version information--help: Show help message
PassCheck uses a comprehensive scoring system:
- Length (0-35 points): Longer passwords get higher scores
- Character Types (0-45 points): Uppercase, lowercase, numbers, special characters
- Diversity (0-15 points): Unique character ratio
- Pattern Penalties: Deductions for common patterns, dates, dictionary words
- 90-100: Excellent
- 70-89: Strong
- 50-69: Moderate
- 30-49: Weak
- 0-29: Very Weak
passcheck/
├── passcheck.py # Main application
├── requirements.txt # Python dependencies
├── README.md # you are reading thus file now
├── LICENSE # MIT License
└── .gitignore # Git ignore file
- No Password Storage: PassCheck never stores your actual passwords
- Breach Detection: Uses k-anonymity model - only first 5 characters of password hash are sent
- Local Processing: All analysis happens locally on your machine
- History Privacy: Analysis history contains only scores and ratings, not passwords
requests: For breach detection API callscolorama: For cross-platform colored terminal outputpyfiglet: For ASCII art banner
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- HaveIBeenPwned for the breach detection API
- OWASP for password security guidelines
- Contributors and testers
- Initial release
- Basic password strength analysis
- Simple password generation
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Include your Python version and operating system
This tool is for educational and security assessment purposes. Always use unique, strong passwords for your accounts and enable two-factor authentication when available.



