Underc0de

Programación General => Java => Mensaje iniciado por: Adalher en Agosto 26, 2019, 08:25:35 PM

Título: Generador de contraseñas (Update 1)
Publicado por: Adalher en Agosto 26, 2019, 08:25:35 PM
Hola a todos,

se ha programado un generador de contraseñas, por una parte para amistarse mejor con Java, por otra parte también para programar una vez algo más significativo. Ustedes mismos pueden determinar el largo de la contraseña y también los caracteres que deben figurar. Osea si deben ser números, letras o si deben ser alfanuméricos.


import java.util.Random; //importar
import java.util.Scanner; //importar

public class GenCont {

public static void main(String[] args) {
 
  Scanner s = new Scanner (System.in); //Crear un nuevo objeto de la clase Scanner
 
  int largo, seleccion; //inicializar las variables para la selección y el largo de la contraseña

  System.out.println("Hola y bienvenido");
  System.out.println("Por favor ingrese el largo de la contraseña y a continuación presione Enter:");
  largo = s.nextInt(); //Selección del largo
  System.out.println("Por favor haga una selección: \n1. Solamente números \n2. Solamente letras \n3. Alfanúmerico");
  seleccion = s.nextInt(); //Selección de la clase de contraseña
  System.out.println(creacont(seleccion, largo)); // Llamada del método para la generación de la contraseña
}
private static char[] creacont( int seleccion, int largo) {

char[] cont;
cont = new char[largo];

int contador = 0;

switch (seleccion) {

case 1:

while (contador<largo) {

cont[contador] = intercambionumero(numeroaleatorio(10, 26));
contador++;

}
break;

case 2:

while (contador<largo) {

cont[contador] = intercambionumero(numeroaleatorio(26, 0));
contador++;

}
break;

case 3:

while (contador<largo) {

cont[contador] = intercambionumero(numeroaleatorio(36, 0));
contador++;
}
break;
}


return cont;
}

private static int numeroaleatorio(int limitea, int limiteb) {

Random cont = new Random();
return cont.nextInt(limitea)+limiteb; //Creación de un número aleatorio
}
private static char intercambionumero(int numero){ //Genera letras y números a partir de los números transmitidos
 
  String s = "abcdefghijklmnopqrstuvwxyz0123456789"; //Definir las/los posibles letras/números
  char[] c = s.toCharArray(); //Convertir el String en Char para que pueda abordar a las letras individualmente
  return c[numero]; //Distribuye la letra respectiva
 
}

}



Saludos
Título: Re:Generador de contraseñas
Publicado por: tr0n en Agosto 26, 2019, 09:32:10 PM
Buen aporte,

Solo añadiría dos cosas:

1. Los métodos creacont e intercamionumero deberían tener sus parámetros nombrados largo y selección, en lugar de x y.
2. El println esta dentro de los bucles, así que se imprimiría cada vez que se genera un nuevo caracter.

Saludos
Título: Re:Generador de contraseñas (Update 1)
Publicado por: Adalher en Agosto 29, 2019, 08:02:14 AM
Lo retoque.
Título: Re:Generador de contraseñas (Update 1)
Publicado por: Bartz en Agosto 29, 2019, 09:14:17 AM
Wow gracias ! Se ve interesante :D