
Un CLI de generador de contraseñas criptográficamente seguro y listo para producción, con 17 modos de generación, transparencia de entropía y amplias opciones de personalización.
Un generador de contraseñas CLI listo para producción, criptográficamente seguro, con 17 modos de generación, transparencia de entropía y amplias opciones de personalización.



| Generador | Comando | Descripción |
|---|---|---|
| Aleatorio | random, r | Contraseñas de caracteres aleatorios criptográficamente seguras |
| Frase de contraseña | phrase, p | Frases de contraseña basadas en palabras usando la lista de palabras EFF |
| Leetspeak | leet, l | Frases de contraseña con sustitución de caracteres (A→4, E→3, etc.) |
| PIN | pin | PINs numéricos de longitud configurable |
| Pronunciable | pronounce, pr | Contraseñas fáciles de pronunciar basadas en sílabas |
| UUID | uuid, u | UUIDs RFC 4122/9562 (v1, v4, v7) y Cortos (Base58) |
| Base64 | base64, b64 | Secretos codificados en base64 seguros para URL |
| Secreto JWT | jwt | Secretos de alta entropía para firma JWT (HS256/384/512) |
| Clave WiFi | wifi | Claves compatibles con WPA2/WPA3 (8-63 caracteres) |
| Clave de licencia | license | Claves de licencia de software (formato AXB, ej. 5x5) |
| Códigos de recuperación | recovery | Códigos de respaldo 2FA (numéricos o basados en palabras) |
| Código/Secreto OTP | otp | Códigos y secretos TOTP/HOTP con URI otpauth |
| Patrón | pattern | Contraseñas de patrón basadas en cuadrícula visual |
| Frase temática | phrase (personalizado) | Frases de contraseña de listas de palabras temáticas (animales, ciencia ficción, etc.) |
| Fonético OTAN | phonetic, ph | Convertir texto/contraseñas al alfabeto OTAN (Alpha-Bravo) |
| Analizar | analyze, check | Analizar la fortaleza de una contraseña existente |
| Historial | history | Ver el historial de generación de contraseñas (por defecto 10 entradas) |
.bat y .sh con menús interactivossecrets de Python para CSPRNG.env (recomendado) o el heredado .vault.key con permisos de archivo estrictos 0600--easy-read y --easy-say# Clonar el repositorio
git clone https://github.com/krishnakanthb13/password_generator.git
cd password_generator
# Instalar dependencias (colorama, cryptography, pyperclip, etc.)
pip install -r requirements.txt
# Generar una contraseña aleatoria de 20 caracteres
python main.py random -l 20
# Generar una frase de contraseña de 4 palabras
python main.py phrase -w 4 --capitalize
# Generar una frase de contraseña leetspeak
python main.py leet -w 3 -s _
# Generar con análisis de entropía
python main.py --show-entropy random -l 16
# Iniciar modo interactivo
python main.py --interactive
# Usar un perfil predefinido (Fuerte)
python main.py --preset strong --show-entropy
# Contraseña básica de 16 caracteres
python main.py random
# 24 caracteres, solo letras
python main.py random -l 24 --no-symbols --no-digits
# Fácil de leer (sin 0/O, 1/l/I)
python main.py --easy-read random -l 20
# Con requisitos mínimos
python main.py random -l 16 --min-upper 2 --min-digits 2 --min-symbols 1
# Modo equilibrado (mayormente letras, menos símbolos)
python main.py random -l 24 --balanced
# Frase de contraseña estándar de 4 palabras
python main.py phrase -w 4
# Capitalizada con separador de guion bajo
python main.py phrase -w 5 -s _ --capitalize
# Mayúsculas/minúsculas alternadas (Alta Entropía)
python main.py phrase -w 4 -s . --alternate
# Salida: aPpLe.bAnAnA.cHeRrY.dAtE
# Todo en mayúsculas con separador de guion (Alta Entropía)
python main.py phrase -w 4 -s . --uppercase
# Salida: APPLE-BANANA-CHERRY-DATE
# Versión leetspeak (Sustitución inteligente 50%)
python main.py leet -w 4 -s -
# Salida: 4PPl3.8@N@[email protected]
# Frase temática (usando 'animals.txt')
python main.py phrase -w 4 --capitalize --wordlist data/wordlists/animals.txt
# Salida: Tiger-Falcon-Shark-Wolf
# 5 segmentos de 5 caracteres
python main.py license --segments 5 --segment-length 5
# 4 segmentos de 8 caracteres
python main.py license --segments 4 --segment-length 8
# Secreto JWT para HS256
python main.py jwt --bits 256
# Clave API Base64
python main.py base64 -b 32 --url-safe
# Token UUID (v4 Aleatorio)
python main.py uuid --upper
# UUID v7 (Basado en tiempo, ordenable)
python main.py uuid --ver 7
# O acceso directo
python main.py uuid --v7
# UUID corto (codificado en Base58, ~22 caracteres)
python main.py uuid --short
# Generar un UUID v7 usando el acceso directo
python main.py u --v7
# Generar 10 UUIDs v4 cortos
python main.py uuid --v4 --short -n 10
# Conversión Fonética OTAN
python main.py phonetic --text "PassForge"
# Salida: Papa-Alpha-Sierra-Sierra-Foxtrot-Oscar-Romeo-Golf-Echo
# Analizar una contraseña existente
python main.py analyze "p@ssword123"
# Registrar en el historial
python main.py --log random -l 16