Autor Tema: Java programa que genere contraseña longitud decida usuario mayúsculas minúscula  (Leído 1551 veces)

Carloscr03

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Hola buenas, quería pedir ayuda por aquí ya que tengo que hacer un programa que genere una contraseña de la longitud que quiera el usuario y que el usuario tambien pueda decidir si lleva mayúsculas, minúsculas, caracteres especiales y números o todo y encima que se ejecute desde la consola del ordenador y la verdad no sé como empezar. Si me pudieseis ayudar lo agradeceria mucho  ;D
« Última modificación: 03 de Enero 2022, 20:26 por Ogramar »

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 988
    • Ver Perfil
Re: Contraseñas
« Respuesta #1 en: 13 de Abril 2021, 00:22 »
Bueno, para empezar, sería saber en que lenguaje tienes que programarlo.


Luego, una forma que se me ocurre ahora mismo para resolverlo, sería utilizar una matriz de tipo char/caracteres. O también de String, podría servir.

Cada fila de la matriz podría estar compuesta de un tipo de carácter.
Por ejemplo, la primera fila, letras minúsculas.
Segunda, mayúsculas. Tercera, números. Cuarta, caracteres especiales.

abcdefghijklmn...
ABCDEFGHIJKLMN...
123456789012345...
|!"@·#$~%¬&/()...

Entonces, según lo que escoja el usuario, obtenemos posiciones al azar de las filas correspondientes.

Si solo quiere minúsculas, pues solo cogemos de la primera fila, la [ 0 ].
Y para la columna generamos un random, según la longitud de la matriz.
Supongamos que es 4x50.
Pues, escrito en una especie de pseudocódigo:
Código: [Seleccionar]
int col = random entre 0 y 49
obtener matriz[0][col]

Si quieres minúsculas y caracteres especiales, pues habría que coger de fila [ 0 ] y de [3]
¿Cómo hacemos para elegir aleatoriamente de una fila u otra.
Pues lo mismo, generando más valores random.
Podemos poner esos dos valores de fila en un array y sacar de ahí un valor u otro de forma random

Código: [Seleccionar]
int[] filasElegidas = {0,3}; //Minúsculas y especiales
int azar = random entre 0 y 1;
int fila = filasElegidas[azar];
int col = random entre 0 y 49
obtener matriz[fila][col]

Este proceso de obtención elementos al azar de la matriz, se haría dentro de un bucle que se repita tantas veces como el usuario haya indicado como longitud para su contraseña
« Última modificación: 27 de Abril 2021, 00:10 por Kabuto »
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".