Ein produktionsreifer, kryptographisch sicherer Passwortgenerator-CLI mit 17 Generierungsmodi, Entropie-Transparenz und umfassenden Anpassungsoptionen.
Ein produktionsreifer, kryptographisch sicherer Passwort-Generator CLI mit 17 Generierungsmodi, Entropie-Transparenz und umfassenden Anpassungsmöglichkeiten.
Verschlüsselter Verlauf (Tresor): Verschlüsselt gespeicherte Passwörter automatisch mit AES-128 (Fernet).
Sichere Tresor-Speicherung: Dedizierter Tresor verwaltet kryptographische Schlüssel über .env (empfohlen) oder veraltete .vault.key mit strengen 0600-Dateiberechtigungen
Zero-Leakage-Architektur: 🛡️ Quellcode und Protokolle werden im PWA-Modus vom Browserzugriff blockiert; sensible Eingaben werden im CLI-Modus für die Entropieanalyse maskiert.
Geschwärzte Exporte: Sicherheitsorientierter Verlaufsexport mit automatischer Passwortschwärzung standardmäßig
Zero-Indentation-UI: Saubere, professionelle linksbündige Ausgabe für alle Modi
Intelligentes Leetspeak: Probabilistische Ersetzung für natürlichere, lesbarere Passwörter
Robuste Validierung: Interaktive Eingabeaufforderungen mit Standardwerten und rekursiver Fehlerbehandlung
Defensives PWA-Frontend: 🛡️ Integrierte Sicherheitsprüfungen für CDN-Assets, um Initialisierungsabstürze zu verhindern.
Globale Modifikatoren: Modi --easy-read und --easy-say
Paranoider Modus: Optionale manuelle Entropiesammlung über Tastatur-Timing-Jitter für maximale Sicherheit.
Installation
root@kitploit:~
# Clone the repository
git clone https://github.com/krishnakanthb13/password_generator.git
cd password_generator
# Install dependencies (colorama, cryptography, pyperclip, etc.)
pip install -r requirements.txt
Schnellstart
root@kitploit:~
# Generate a 20-character random password
python main.py random -l 20
# Generate a 4-word passphrase
python main.py phrase -w 4 --capitalize
# Generate a leetspeak passphrase
python main.py leet -w 3 -s _
# Generate with entropy analysis
python main.py --show-entropy random -l 16
# Launch interactive mode
python main.py --interactive
# Use a preset profile (Strong)
python main.py --preset strong --show-entropy
Verwendungsbeispiele
Zufällige Passwörter
root@kitploit:~
# Basic 16-character password
python main.py random
# 24-character, letters only
python main.py random -l 24 --no-symbols --no-digits
# Easy to read (no 0/O, 1/l/I)
python main.py --easy-read random -l 20
# With minimum requirements
python main.py random -l 16 --min-upper 2 --min-digits 2 --min-symbols 1
# Balanced mode (mostly letters, fewer symbols)
python main.py random -l 24 --balanced
# JWT secret for HS256
python main.py jwt --bits 256
# Base64 API key
python main.py base64 -b 32 --url-safe
# UUID token (v4 Random)
python main.py uuid --upper
# UUID v7 (Time-based, sortable)
python main.py uuid --ver 7
# Or shortcut
python main.py uuid --v7
# Short UUID (Base58 encoded, ~22 chars)
python main.py uuid --short
# Generate a v7 UUID using the shortcut
python main.py u --v7
# Generate 10 short v4 UUIDs
python main.py uuid --v4 --short -n 10
# NATO Phonetic Conversion
python main.py phonetic --text "PassForge"
# Output: Papa-Alpha-Sierra-Sierra-Foxtrot-Oscar-Romeo-Golf-Echo
Sicherheit & Protokollierung
root@kitploit:~
# Analyze an existing password
python main.py analyze "p@ssword123"
# Log to history
python main.py --log random -l 16
# View last 10 history entries (default)
python main.py history
# View all history entries (decrypted on the fly)
python main.py history --all
# View history with redacted passwords
python main.py history --redact
# Export history (Redacted by default)
python main.py history --export backup.json
# Export history (Plaintext - requires caution)
python main.py history --export secrets.csv --no-redact
# JSON output for scripts
python main.py --json jwt --bits 256
# Run all tests
python -m pytest tests/ -v
# Run specific test class
python -m pytest tests/test_generators.py::TestRandomPasswordGenerator -v
# Run with coverage
python -m pytest tests/ --cov=src --cov-report=html
Alle 53 Unit-Tests decken ab:
Alle 15 spezialisierten Generatormodi
Entropie- und zxcvbn-Stärkerechner
Automatisches Löschen der Zwischenablage und sicherer Speicher
QR-Code-ASCII-Generierungslogik
Konfigurationsladung und Voreinstellungen
Konfiguration
PassForge unterstützt Konfigurationsdateien im YAML- oder JSON-Format.
Konfigurationsdatei-Speicherorte (in folgender Reihenfolge durchsucht):
./passforge.yaml or ./passforge.json
./.passforge.yaml or ./.passforge.json
~/.passforge/config.yaml or ~/.passforge/config.json
Siehe passforge.example.json für alle verfügbaren Optionen.
Erstellen einer eigenständigen ausführbaren Datei
PassForge kann mit PyInstaller zu einer einzigen eigenständigen ausführbaren Datei kompiliert werden.
Windows
root@kitploit:~
# Using the build script
passforge_build.bat
# Or manually
pip install pyinstaller
pyinstaller --onefile --name passforge --console main.py
Linux/macOS
root@kitploit:~
# Using the build script
chmod +x passforge_build.sh
./passforge_build.sh
# Or manually
pip install pyinstaller
pyinstaller --onefile --name passforge --console main.py
Die ausführbare Datei wird im Ordner dist/ erstellt (~7 MB, keine Abhängigkeiten).
🌐 PassForge Web (PWA-Erweiterung)
PassForge enthält jetzt eine moderne, responsive Weboberfläche (PWA), die eine visuelle Möglichkeit bietet, Passwörter zu generieren und zu verwalten, während die volle Parität mit der CLI-Version erhalten bleibt.
Hauptfunktionen
Seitenleisten-Oberfläche: Einfache Navigation zwischen allen Generatortypen.
Visuelle Schieberegler: Längen und Wortanzahlen mit interaktiven Schiebereglern anpassen.
QR-Unterstützung: Sofortige QR-Code-Generierung zum Teilen von Passwörtern oder OTP-Geheimnissen.
Dunkel/Hell-Modus: Hochwertige Ästhetik mit systembewusstem Themenwechsel.
Installierbar: Unterstützung für PWA-Installation unter Windows, Linux und mobilen Geräten.
Gemeinsamer Verlauf: Nutzt dieselbe verschlüsselte Protokolldatei wie die CLI.
Starten der PWA
Um die Weboberfläche zu starten, führen Sie das Startskript für Ihr Betriebssystem aus:
Windows: passforge_pwa.bat
Linux/macOS: passforge_pwa.sh
[!IMPORTANT]
Sicherheitshärtung (v34+): Die PWA verwendet jetzt einen SecureStaticFiles-Handler, der den Browserzugriff auf Python-Quelldateien, Protokolle und kryptografische Schlüssel explizit blockiert. Der Zugriff auf den Verlauf wird durch einen internen API-Key-Handshake geschützt. Die Frontend-Logik enthält auch defensive Wrapper für externe CDN-Assets, um die Funktionalität auch bei blockiertem CDN sicherzustellen.
[!TIP]
Verfügbarkeit des Builds: Die PWA-Dateien sind in den Quellcode- und ZIP/Tarball-Distributionen enthalten. Die PWA ist nicht in die einzelne .exe-Binärdatei eingebettet.
Der Starter installiert automatisch die erforderlichen Abhängigkeiten (fastapi, uvicorn), startet einen lokalen Server unter http://127.0.0.1:8093 und öffnet Ihren Browser.