Ejercicio de programación con TypeScript: Proyecto generador de contraseñas
2h 0m
Desarrolla un generador de contraseñas con TypeScript, personalizando longitud y tipos de caracteres para mayor seguridad.
Configura un nuevo proyecto TypeScript creando los archivos necesarios:
index.html
,styles.css
,app.ts
ytsconfig.json
. En el archivo de configuración TypeScript, habilita las opciones estrictas y configura la salida a ES2015 o superior.Diseña la interfaz HTML básica que incluya:
- Un control para seleccionar la longitud de la contraseña (input type="range" o input type="number")
- Casillas de verificación para cada tipo de carácter (minúsculas, mayúsculas, números, símbolos)
- Un botón para generar la contraseña
- Un área para mostrar la contraseña generada
- Un botón para copiar la contraseña al portapapeles
- Un indicador visual para la fortaleza de la contraseña
- Crea una clase
PasswordGenerator
en TypeScript que encapsule la lógica de generación de contraseñas. Esta clase debe tener:
- Propiedades para la longitud y los tipos de caracteres a incluir
- Un método para generar contraseñas aleatorias basadas en los parámetros configurados
- Un método para evaluar la fortaleza de una contraseña
Implementa la lógica para generar contraseñas aleatorias utilizando los conjuntos de caracteres seleccionados. Asegúrate de que la contraseña generada incluya al menos un carácter de cada tipo seleccionado.
Desarrolla la función que evalúa la fortaleza de la contraseña basándose en criterios como longitud y variedad de caracteres. Clasifica las contraseñas como débiles, medias o fuertes.
Implementa la funcionalidad para copiar la contraseña generada al portapapeles utilizando la API del navegador.
Añade validación para asegurar que el usuario seleccione al menos un tipo de carácter antes de generar una contraseña. Muestra mensajes de error apropiados cuando sea necesario.
Crea una clase
UIController
que maneje la interacción entre la interfaz de usuario y la clasePasswordGenerator
, siguiendo el patrón MVC.Implementa el manejo de eventos para los elementos de la interfaz, conectando los controles con las funciones correspondientes de generación de contraseñas.
Añade estilos CSS para mejorar la apariencia de la aplicación y proporcionar feedback visual al usuario (como cambiar el color del indicador de fortaleza según el nivel).
Más ejercicios de programación con TypeScript
Evalúa tus conocimientos en TypeScript con más ejercicios de programación de tipo Test, Puzzle, Código y Proyecto con VSCode.
Funciones
Reto composición de funciones
Reto tipos especiales
Reto tipos genéricos
Módulos
Polimorfismo
Funciones TypeScript
Interfaces
Funciones puras
Reto namespaces
Funciones flecha
Polimorfismo
Operadores
Conversor de unidades
Funciones flecha
Control de flujo
Herencia
Clases
Proyecto validación de tipado
Clases y objetos
Tecnologías de este ejercicio de programación
Entornos de desarrollo para este ejercicio

Visual Studio Code

GitHub