Generador de contraseñas de escritorio en Python + Tkinter, orientado a contraseñas memorables con enfoque práctico de seguridad.
Soporta tres estrategias de generación:
memorable(PRNG)secure(SystemRandom)diceware
Incluye estimación de entropía, controles de política mínima, portapapeles con limpieza opcional, historial y generación por lotes.
- Características
- Captura
- Arquitectura y estructura
- Requisitos
- Instalación
- Ejecución
- Configuración
- Desarrollo local
- Build de ejecutable
- Contribuir
- Plantillas de GitHub
- Licencia
- Interfaz moderna con controles rápidos y feedback de estado.
- Origen de datos dual:
- listas embebidas,
- archivos
.dictconfigurables.
- Modos de generación:
- memorable
- secure
- diceware
- Estimación de entropía y señales visuales de seguridad.
- Políticas configurables para exportes por lote.
- Copiado al portapapeles con limpieza automática opcional.
- Build para Windows con PyInstaller.
password-generator/
├─ .github/
│ ├─ workflows/
│ │ └─ ci.yml
│ ├─ ISSUE_TEMPLATE/
│ │ ├─ bug_report.md
│ │ ├─ feature_request.md
│ │ └─ config.yml
│ └─ pull_request_template.md
├─ assets/
│ ├─ icon.ico
│ ├─ icon.png
│ ├─ banner.png
│ └─ README.md
├─ build/
│ ├─ build.ps1
│ ├─ password-generator.spec
│ └─ README.md
├─ dict/
│ ├─ santos.dict
│ ├─ senas.dict
│ ├─ contrasenyas.dict
│ └─ README.md
├─ password_generator/
│ ├─ ui.py
│ ├─ core.py
│ ├─ infra.py
│ ├─ security.py
│ ├─ clipboard.py
│ ├─ models.py
│ ├─ defaults.py
│ ├─ __main__.py
│ └─ README.md
├─ generador.py
├─ config.example.json
├─ CONTRIBUTING.md
├─ pyproject.toml
└─ README.md
- Python
3.13+ pip- Windows, macOS o Linux
python -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip
pip install -e ".[dev]"python -m venv .venv
.venv\Scripts\activate
pip install -e .python generador.pypython -m password_generatorpassword-generatorconfig.jsonse considera configuración local (no versionada).- Usa
config.example.jsoncomo base inicial.
Copy-Item config.example.json config.jsonParámetros principales:
modo:embebidooarchivosmodo_generacion:memorable,secure,dicewareformato: capitalización y separadorseguridad: mínimos de políticaclipboard: comportamiento de copiado y limpieza
python -m mypy password_generatorpython -m pytest.\build\build.ps1Salida esperada:
dist/password-generator.exe
Notas:
- El spec usa
assets/icon.icocuando está disponible. - Se incluyen recursos de
assets/,dict/yconfig.example.json.
¡Contribuciones bienvenidas!
Para mantener consistencia y calidad:
- Haz fork o crea una rama desde
main. - Crea una rama descriptiva:
feat/<descripcion-corta>fix/<descripcion-corta>
- Implementa cambios y añade/actualiza pruebas cuando aplique.
- Ejecuta validaciones locales:
python -m mypy password_generatorpython -m pytest(opcional, si la suite está disponible en tu rama)
- Crea commits claros y enfocados.
- Abre PR con contexto, alcance y evidencia de pruebas.
Guía completa:
CONTRIBUTING.md
Se incluyen plantillas para estandarizar colaboración:
- PR template:
.github/pull_request_template.md - Issue templates:
.github/ISSUE_TEMPLATE/bug_report.md.github/ISSUE_TEMPLATE/feature_request.md
- Configuración de issue templates:
.github/ISSUE_TEMPLATE/config.yml
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE (WTFPL) v2.
