Password Algorithms is a modern security application that combines secure password generation, scientific password strength analysis, and a local encrypted password vault (AES-256). The project provides both a polished Graphical User Interface (GUI) and a feature-rich Terminal Interface (CLI).
- Full Security: Uses the unpredictable cryptographic
secretsengine instead of therandommodule. - Character Pools: Uppercase/lowercase, digits, symbols, and Turkish character options.
- Advanced Options: Exclude look-alike characters (
l,1,O,0). - Guarantee Filter: Ensures at least one character from each enabled category.
- Batch Generation: Generate 1-50 alternative passwords in one run.
- Shannon Entropy: Calculates the mathematical entropy (in bits).
- Advanced Scoring (0-100): Weighted score based on length, variety, and patterns.
- Pattern Detection: Keyboard sequences (
qwerty), sequential characters (abc,123), repeated characters (aaa), and leak checks. - Leet Speak Dictionary: Checks leet-speak variants of weak passwords (
p@ssw0rd->password). - k-Anonymity Leak Check: Queries the Have I Been Pwned API using only the first 5 characters of the SHA-1 hash, without exposing the password.
- Crack Time Estimation: Realistic estimates for different hardware scenarios (fast GPU, offline/online attacks, etc.).
- Creates memorable yet unbreakable passphrases from word lists (Diceware method).
- Supports Turkish and English word lists.
- Separator selection (
-,.,_, or space). - Capitalize initials and optional digit insertion.
- End-to-End Encryption: Stores passwords encrypted with AES-256-GCM (Fernet) in the local database.
- Master Password Security: Vault key derivation uses PBKDF2HMAC (SHA-256, 480,000 iterations).
- Categories & Search: Filter entries by Social Media, Email, Banking, and more, or use instant search.
- Export: One-click export to unencrypted CSV.
- History Log: Stores the last 50 generated passwords locally with date and strength, masked.
- Secure Clipboard: Automatically clears the copied password from the system clipboard after 30 seconds.
- QR Code Support: Save passwords as QR images for quick phone sharing.
- CustomTkinter Interface: Modern design with Dark Mode and Light Mode support.
- Rich CLI: Tables, progress bars, and interactive guidance in the terminal interface.
- Debounced Search & Checks: 500ms delayed dynamic analysis and lock-screen transitions while typing to reduce load.
graph TD
A["main.py (Entry)"] --> B["src/ui/app.py (GUI App)"]
A --> C["terminal_modern.py (CLI App)"]
B --> D["ThemeManager"]
B --> E["Sidebar Panel"]
B --> F["GeneratorPanel"]
B --> G["CheckerPanel"]
B --> H["PassphrasePanel"]
B --> I["VaultPanel"]
B --> J["HistoryPanel"]
F & G & H & I & J --> K["src/core/"]
C --> K
K --> L["generator.py"]
K --> M["checker.py"]
K --> N["entropy.py"]
K --> O["passphrase.py"]
K --> P["vault.py (AES-256)"]
K --> Q["src/utils/"]
Q --> R["crypto_utils.py (Clipboard & UUID)"]
Q --> S["export.py (CSV & QR)"]
Q --> T["hibp_client.py (API k-Anonymity)"]
-
Clone the Repository:
git clone https://github.com/mehmetkahya0/PasswordAlgorithms.git cd PasswordAlgorithms -
Install Dependencies:
pip install -r requirements.txt
python main.pypython terminal_modern.pypython -m pytest tests/Important
Password Algorithms is a local, open-source application. Your master password is never sent to or stored on any server. If you lose the vault file (data/vault.enc) or your master password, you cannot access the stored passwords again. Please keep your master password safe.
This project is licensed under the MIT License. See the license file for details.