Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
password_generator — 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. | Kitploit
Herramientas/GitHubGitHub/krishnakanthb13/password_generator
Utilidades de Propósito GeneralDescifrado de ContraseñasHerramientas de Cifrado/DescifradoCriptografíaUtilidades y FrameworksAutenticación
GitHubkrishnakanthb13/password_generator

password_generator

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.

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
244hace 6 mesesRevisado por Kitploit

PassForge - Generador de contraseñas CLI todo en uno

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.

PassForge_v1.2.0

PassForge_v1.0.5

PassForge_v1.0.14

Características

17 Modos de Generación

GeneradorComandoDescripción
Aleatoriorandom, rContraseñas de caracteres aleatorios criptográficamente seguras
Frase de contraseñaphrase, pFrases de contraseña basadas en palabras usando la lista de palabras EFF
Leetspeakleet, lFrases de contraseña con sustitución de caracteres (A→4, E→3, etc.)
PINpinPINs numéricos de longitud configurable
Pronunciablepronounce, prContraseñas fáciles de pronunciar basadas en sílabas
UUIDuuid, uUUIDs RFC 4122/9562 (v1, v4, v7) y Cortos (Base58)
Base64base64, b64Secretos codificados en base64 seguros para URL
Secreto JWTjwtSecretos de alta entropía para firma JWT (HS256/384/512)
Clave WiFiwifiClaves compatibles con WPA2/WPA3 (8-63 caracteres)
Clave de licencialicenseClaves de licencia de software (formato AXB, ej. 5x5)
Códigos de recuperaciónrecoveryCódigos de respaldo 2FA (numéricos o basados en palabras)
Código/Secreto OTPotpCódigos y secretos TOTP/HOTP con URI otpauth
PatrónpatternContraseñas de patrón basadas en cuadrícula visual
Frase temáticaphrase (personalizado)Frases de contraseña de listas de palabras temáticas (animales, ciencia ficción, etc.)
  • Perfiles predefinidos: Generación con un clic para casos de uso comunes (Fuerte, Memorable, Dev, etc.)
  • Menú interactivo: Menú completo para generación guiada
  • Lanzadores de plataforma: Scripts dedicados .bat y .sh con menús interactivos
  • Seguridad criptográfica: Usa el módulo secrets de Python para CSPRNG
  • Transparencia de entropía: Cálculo de entropía en tiempo real y análisis de fortaleza
  • Análisis zxcvbn: Verificación de fortaleza de contraseñas basada en patrones (ataques de diccionario, secuencias)
  • Portapapeles seguro: Borrado automático del portapapeles después de un tiempo configurable
  • Códigos OTP en vivo: Genera códigos TOTP actuales de 6/8 dígitos junto con el secreto
  • Códigos QR para OTP: Códigos QR escaneables para aplicaciones de autenticación
  • Salida con códigos de colores: Distinción visual entre tipos de caracteres
  • Exportación JSON: Salida legible por máquina para scripts
  • Modo equilibrado: Asegura una distribución legible (60% Letras, 20% Dígitos, 20% Símbolos)
  • Guía del Generador: Documentación completa para los 14 tipos de generadores.
  • Historial cifrado (Bóveda): Cifra automáticamente las contraseñas guardadas usando AES-128 (Fernet).
  • Almacenamiento seguro de bóveda: El almacén dedicado maneja las claves criptográficas mediante .env (recomendado) o el heredado .vault.key con permisos de archivo estrictos 0600

Instalación

root@kitploit:~
# 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

Inicio Rápido

root@kitploit:~
# 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

Ejemplos de Uso

Contraseñas Aleatorias

root@kitploit:~
# 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

Frases de Contraseña

root@kitploit:~
# 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

Claves de Software (A x B)

root@kitploit:~
# 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

Tokens para Desarrolladores

root@kitploit:~
# 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

Seguridad y Registro

root@kitploit:~
# Analizar una contraseña existente
python main.py analyze "p@ssword123"

# Registrar en el historial
python main.py --log random -l 16

# Ver las últimas 10 entradas del historial (predeterminado)
python main.py history

# Ver todas las entradas del historial (descifradas sobre la marcha)
python main.py history --all

# Ver historial con contraseñas redactadas
python main.py history --redact

# Exportar historial (Redactado por defecto)
python main.py history --export backup.json

# Exportar historial (Texto plano - requiere precaución)
python main.py history --export secrets.csv --no-redact

# Salida JSON para scripts
python main.py --json jwt --bits 256

Referencia de Comandos

Opciones Específicas del Generador

Random (random, r)

Passphrase (phrase, p)

Leetspeak (leet, l)

PIN (pin)

IndicadorPredeterminadoDescripción
-l, --length6Longitud del PIN (4-64)
-n, --count1Número a generar

Pronounceable (pronounce, pr)

IndicadorPredeterminadoDescripción
-l, --length12Longitud de la contraseña (4-128)
-n, --count1Número a generar

UUID (uuid)

Base64 (base64, b64)

IndicadorPredeterminadoDescripción
-b, --bytes32Número de bytes aleatorios
--url-safe-Usar caracteres seguros para URL

JWT Secret (jwt)

IndicadorPredeterminadoDescripción
--bits256Longitud en bits (256, 384, 512)
--hex-Salida como cadena hexadecimal

WiFi Key (wifi)

IndicadorPredeterminadoDescripción
-l, --length24Longitud de la clave (8-63, predeterminado: 24)
--simple-Solo alfanumérico (sin símbolos)

License Key (license)

IndicadorPredeterminadoDescripción
--segments4Número de segmentos (2-64)
--segment-length4Caracteres por segmento (2-32)

Recovery Codes (recovery)

OTP Secret (otp)

IndicadorPredeterminadoDescripción
--digits6Longitud del código (6 u 8)

Pattern (pattern)

IndicadorPredeterminadoDescripción
--grid3Tamaño de cuadrícula (ej. 3x3)

Phonetic (phonetic, ph)

IndicadorPredeterminadoDescripción
--text-Texto a convertir al alfabeto OTAN
-l, --length8Longitud de la secuencia aleatoria (4-64)

History (history)

Guía de Entropía

PassForge proporciona un Informe de Entropía completo que incluye el tamaño del conjunto de caracteres, bits de Shannon y estimaciones de tiempo de fuerza bruta.

Nota: Para una explicación detallada de cada tipo de generador, consulta LITERATURE.md.

Estructura del Proyecto

root@kitploit:~
password_generator/
├── main.py                 # Punto de entrada
├── requirements.txt        # Dependencias
├── src/
│   ├── __init__.py
│   ├── cli.py                # Analizador de argumentos y banner
│   ├── command_handler.py    # Enrutamiento de comandos
│   ├── interactive.py        # Menú interactivo
│   ├── generators/           # Todos los generadores de contraseñas
│   │   ├── base.py           # Clase base abstracta
│   │   ├── random_password.py # Generador de contraseñas aleatorias
│   │   ├── passphrase.py     # Generador de frases de contraseña
│   │   ├── leetspeak.py      # Generador de leetspeak
│   │   ├── pin.py            # Generador de PIN
│   │   ├── pronounceable.py  # Generador de contraseñas pronunciables
│   │   ├── uuid_token.py     # Generador de tokens UUID
│   │   ├── base64_secret.py  # Generador de secretos Base64
│   │   ├── jwt_secret.py     # Generador de secretos JWT
│   │   ├── wifi_key.py       # Generador de claves WiFi
│   │   ├── license_key.py    # Generador de claves de licencia
│   │   ├── recovery_codes.py # Generador de códigos de recuperación
│   │   ├── otp.py            # Generador OTP
│   │   ├── pattern.py        # Generador de patrones
│   │   └── phonetic.py       # Generador fonético OTAN
│   ├── security/
│   │   ├── entropy.py        # Calculadora de entropía
│   │   ├── strength_checker.py # Integración zxcvbn
│   │   └── vault.py          # Cifrado seguro del historial
│   ├── output/
│   │   ├── formatter.py      # Salida con códigos de colores
│   │   ├── logger.py         # Registro de historial
│   │   ├── clipboard.py      # Manejo seguro del portapapeles
│   │   └── qrcode_gen.py     # Generación de códigos QR para OTP
│   ├── config/
│   │   ├── loader.py         # Cargador de configuración YAML/JSON
│   │   └── presets.py        # Perfiles de seguridad predefinidos
├── data/
│   └── wordlists/            # Listas de palabras temáticas (animals.txt, biology.txt, etc.)
└── tests/

Pruebas

root@kitploit:~
# Ejecutar todas las pruebas
python -m pytest tests/ -v

# Ejecutar una clase de prueba específica
python -m pytest tests/test_generators.py::TestRandomPasswordGenerator -v

# Ejecutar con cobertura
python -m pytest tests/ --cov=src --cov-report=html

Todas las 53 pruebas unitarias cubren:

  • Los 15 modos de generador especializados
  • Calculadoras de entropía y fortaleza zxcvbn
  • Borrado automático del portapapeles y almacenamiento seguro
  • Lógica de generación de códigos QR ASCII
  • Carga de configuración y ajustes predefinidos

Configuración

PassForge admite archivos de configuración en formato YAML o JSON.

Ubicaciones de los archivos de configuración (buscados en orden):

  1. ./passforge.yaml o ./passforge.json
  2. ./.passforge.yaml o ./.passforge.json
  3. ~/.passforge/config.yaml o ~/.passforge/config.json

Ejemplo de Configuración

root@kitploit:~
{
  "random": {
    "length": 20,
    "easy_read": true
  },
  "passphrase": {
    "words": 5,
    "capitalize": true
  },
  "output": {
    "show_entropy": true
  }
}

Consulta passforge.example.json para todas las opciones disponibles.

Compilación de Ejecutable Independiente

PassForge se puede compilar en un único ejecutable independiente usando PyInstaller.

Windows

root@kitploit:~
# Usando el script de compilación
passforge_build.bat

# O manualmente
pip install pyinstaller
pyinstaller --onefile --name passforge --console main.py

Linux/macOS

root@kitploit:~
# Usando el script de compilación
chmod +x passforge_build.sh
./passforge_build.sh

# O manualmente
pip install pyinstaller
pyinstaller --onefile --name passforge --console main.py

El ejecutable se creará en la carpeta dist/ (~7 MB, cero dependencias).

🌐 PassForge Web (Complemento PWA)

PassForge ahora incluye una interfaz web moderna y responsiva (PWA) que proporciona una forma visual de generar y gestionar contraseñas, manteniendo total paridad con la versión CLI.

Características Principales

  • Interfaz de barra lateral: Navegación sencilla entre todos los tipos de generadores.
  • Deslizadores visuales: Ajusta longitudes y conteos de palabras con deslizadores interactivos.
  • Soporte QR: Generación instantánea de códigos QR para compartir contraseñas o secretos OTP.
  • Modo oscuro/claro: Estética premium con cambio de tema según el sistema.
  • Instalable: Soporte para instalación PWA en Windows, Linux y móviles.
  • Historial compartido: Utiliza el mismo archivo de registro cifrado que la CLI.

Inicio de la PWA

Para iniciar la interfaz web, ejecuta el script lanzador para tu sistema operativo:

  • Windows: passforge_pwa.bat
  • Linux/macOS: passforge_pwa.sh

[!IMPORTANT] Fortalecimiento de seguridad (v34+): La PWA ahora utiliza un controlador SecureStaticFiles que bloquea explícitamente el acceso del navegador a archivos fuente de Python, registros y claves criptográficas. El acceso al historial está protegido mediante un protocolo de enlace de clave API interna. La lógica del frontend también incluye envoltorios defensivos para activos CDN externos para garantizar la funcionalidad incluso si un CDN está bloqueado.

[!TIP] Disponibilidad de compilación: Los archivos de la PWA están incluidos en las distribuciones de Código Fuente y ZIP/Tarball. La PWA no está incrustada en el binario de un solo archivo .exe.

El lanzador instalará automáticamente las dependencias necesarias (fastapi, uvicorn), iniciará un servidor local en http://127.0.0.1:8093 y abrirá tu navegador.

Licencia

Licencia GPL v3 - consulta LICENSE para más detalles.

Contribuciones

¡Las contribuciones son bienvenidas! Por favor, lee nuestras guías de contribución antes de enviar PRs.

Descargar herramienta
Fonético OTANphonetic, phConvertir texto/contraseñas al alfabeto OTAN (Alpha-Bravo)
Analizaranalyze, checkAnalizar la fortaleza de una contraseña existente
HistorialhistoryVer el historial de generación de contraseñas (por defecto 10 entradas)
  • Arquitectura de cero fugas: 🛡️ El código fuente y los registros están bloqueados del acceso del navegador en modo PWA; las entradas sensibles se enmascaran en modo CLI para el análisis de entropía.
  • Exportaciones con redacción: Exportación de historial con enfoque de seguridad, redacción automática de contraseñas por defecto
  • Interfaz sin sangría: Salida limpia y profesional alineada a la izquierda para todos los modos
  • Leetspeak inteligente: Sustitución probabilística para contraseñas más naturales y legibles
  • Validación robusta: Indicaciones interactivas con valores predeterminados y manejo recursivo de errores
  • Frontend PWA defensivo: 🛡️ Verificaciones de seguridad integradas para activos CDN para evitar fallos de inicialización.
  • Modificadores globales: Modos --easy-read y --easy-say
  • Modo paranoico: Recolección manual opcional de entropía mediante fluctuación de tiempo del teclado para máxima seguridad.
  • IndicadorDescripción
    --presetUsar un perfil de seguridad predefinido (strong, memorable, dev, pin, web, wifi, key)
    -i, --interactiveIniciar modo de menú interactivo
    --paranoidHabilitar modo paranoico (recolección manual de entropía)
    --jsonSalida en formato JSON
    --show-entropyMostrar análisis de entropía (habilitado por defecto en los lanzadores)
    --check-strengthEjecutar análisis de patrón zxcvbn
    -c, --clipboardCopiar resultado al portapapeles
    --confirm-copySolicitar confirmación para copiar resultado al portapapeles
    --clipboard-timeoutBorrado automático del portapapeles después de N segundos (predeterminado: 30)
    --logRegistrar contraseña en el historial (cifrada AES-128)
    --no-colorDeshabilitar salida coloreada
    --easy-readExcluir caracteres ambiguos (0/O, 1/l/I)
    --easy-saySolo caracteres pronunciables (sin símbolos)
    IndicadorPredeterminadoDescripción
    -l, --length16Longitud de la contraseña (4-1024)
    --no-uppercase-Excluir letras mayúsculas
    --no-lowercase-Excluir letras minúsculas
    --no-digits-Excluir dígitos
    --no-symbols-Excluir símbolos
    --include-Caracteres adicionales para incluir
    --exclude-Caracteres para excluir
    --no-repeats-Sin caracteres repetidos
    --min-upper0Mínimo de caracteres en mayúscula
    --min-lower0Mínimo de caracteres en minúscula
    --min-digits0Mínimo de dígitos
    --min-symbols0Mínimo de símbolos
    --balanced-Proporción equilibrada (60/20/20)
    -n, --count1Número a generar
    IndicadorPredeterminadoDescripción
    -w, --words4Número de palabras (2-64)
    -s, --separator-Separador de palabras
    --capitalize-Capitalizar cada palabra
    --uppercase-Todas las palabras en mayúsculas
    --alternate-Mayúsculas/minúsculas alternadas (aLtErNaTe)
    --wordlist-Ruta a una lista de palabras personalizada
    -n, --count1Número a generar
    IndicadorPredeterminadoDescripción
    -w, --words3Número de palabras (2-64)
    -s, --separator-Separador de palabras ( - _ . , )
    -n, --count1Número a generar
    IndicadorPredeterminadoDescripción
    --ver4Versión UUID (1, 4, 7)
    --short-Formato corto (Base58)
    --upper-Salida en mayúsculas (solo hexadecimal)
    -n, --count1Número a generar
    IndicadorPredeterminadoDescripción
    -n, --count10Número de códigos (5-20, predeterminado: 10)
    -l, --length10Longitud del código (dígitos o palabras, predeterminado: 10/3)
    --words-Usar códigos basados en palabras
    --period30Período de tiempo en segundos
    --qr-Mostrar código QR en la terminal
    IndicadorPredeterminadoDescripción
    --last10Mostrar las últimas N entradas (1-100, predeterminado: 10)
    --all, -a-Mostrar todas las entradas del historial (anula --last)
    --search-Filtrar historial por palabra clave
    --redact-Redactar contraseñas en la salida de terminal
    --export-Exportar historial a un archivo (JSON/CSV)
    --no-redact-No redactar contraseñas en la exportación (¡Precaución!)
    --clear-Limpiar todas las entradas del historial
    Entropía (bits)FortalezaCaso de uso
    < 28Muy DébilNunca usar
    28-36DébilSolo baja seguridad
    36-60RazonableCuentas estándar
    60-80FuerteDatos sensibles
    80-128Muy FuerteSistemas de alta seguridad
    > 128ExcelenteInfraestructura crítica