虎忍 Inicio · Portafolio · passgen

Hakushin · Tigre Ninja · 2026

passgen

v1.0.0 Publicado Python 3.8+ GPLv3

Recuerda una palabra. El resto lo hace el algoritmo.
Un generador de contraseñas de línea de comandos que convierte una semilla que ya tienes en la cabeza en algo bastante menos adivinable.

Ver en GitHub Descargar .zip Cómo funciona
~/tigre-ninja/passgen

El comando equivalente:

Todo se calcula aquí, en tu navegador. Ni la semilla ni el resultado salen de esta pestaña.

El problema

Nadie recuerda veinte contraseñas distintas

Así que todo el mundo hace lo mismo: repetir la misma en todas partes, o añadirle un 1 al final cuando el sistema se queja. passgen propone un trato distinto — tú recuerdas una palabra que significa algo para ti, y una transformación determinista se encarga del resto.

Determinista quiere decir que la misma entrada produce siempre la misma salida. No hay base de datos, no hay sincronización, no hay nada que perder si cambias de ordenador. Solo tienes que recordar la palabra y qué algoritmo usaste.

Requisito
Python 3.8+
Dependencias
Ninguna
Algoritmos
Tres
Licencia
GPLv3

Los tres caminos

Tres transformaciones, de la más legible a la más dura

Todas son deterministas y todas están explicadas al detalle en el repositorio. Puedes probarlas arriba, en el demo, con tu propia palabra.

Algoritmo 1

Leet de vocales

Cada vocal se cambia por el carácter que le toca en una máscara de cinco posiciones (A E I O U). Simple, memorable y aplicable de cabeza. También el más débil: el leet clásico ya vive en las listas de los atacantes.

aurora ⟶ 4€r0r4

Algoritmo 2

Multiplicación ASCII

Cada carácter pasa a su valor numérico, se multiplica por n y el resultado se remapea a un juego de caracteres seguro. La salida no se parece en nada a la entrada, y ya no es reversible mentalmente. Su fuerza depende de que nadie conozca n.

reactor -n 13 ⟶ E7hH45E

Algoritmo 3 · recomendado

Intercalado

Cuatro pasos encadenados: sustitución leet, alternancia de mayúsculas por posición, inserción de un símbolo cada tres caracteres y relleno hasta la longitud mínima. El más resistente de los tres, porque un ataque de diccionario tiene que acertar tres transformaciones a la vez.

sendero ⟶ S3N.d3r.0

Lo que hay que decir antes

Esto es ofuscación, no criptografía

Léelo antes de confiarle nada importante

passgen no cifra. Transforma. Cualquiera que conozca tu palabra semilla y el algoritmo que aplicaste puede reconstruir la contraseña en un minuto. Toda la seguridad real descansa en que mantengas esos dos datos en secreto — no en las matemáticas.

Dicho eso, sirve para lo que sirve: dejar de reutilizar la misma de siempre en el foro, la newsletter o la cuenta de pruebas. Es un escalón por encima de escribir tu apellido y el año.

Para lo que de verdad importa — banca, tu gestor maestro, claves de producción — usa derivación y cifrado reales: Argon2id, KeePassXC o Bitwarden. El README recoge la lista completa.

Podría no contarte esto y la herramienta parecería más impresionante. Prefiero que sepas exactamente qué tienes entre manos.

Cuatro líneas

Empezar

Clona, dale permisos y ya está funcionando. La primera ejecución crea tu ~/.passgen.ini con los valores por defecto.

git clone https://github.com/TigreNinja/passgen.git
cd passgen
chmod +x passgen.py
./passgen.py --help

Sin argumentos, arranca un menú interactivo en la terminal. Con argumentos, va al grano:

passgen "aurora"  -a 1              # → 4€r0r4
passgen "futuro"  -a 1 -m "43108"   # → f8t8r0
passgen "reactor" -a 2 -n 13        # → E7hH45E
passgen "sendero" -a 3              # → S3N.d3r.0
FlagQué hacePor defecto
-a, --algoritmoElige el algoritmo: 1, 2 o 3
-m, --maskMáscara de 5 caracteres para A E I O U4310€
-n, --multiplierMultiplicador del algoritmo 2 (1–99)7
-s, --symbolsSímbolos que intercala el algoritmo 3#$.-
--min-lengthLongitud mínima de la salida8
--configMuestra tu configuración y sale
--no-colorDesactiva los colores ANSI

El código está abierto. Ve a romperlo.

Software libre bajo GPLv3: úsalo, estúdialo, modifícalo y redistribúyelo. Si le encuentras un fallo o se te ocurre un cuarto algoritmo, la pestaña de issues está ahí.

Abrir el repositorio Volver al portafolio

Hakushin · Tigre Ninja · 2026