En este tutorial enseño cómo hacer un programa que genere contraseñas preguntando al usuario cuántos carácteres en minúsculas, mayúsculas, y caracteres especiales quiere para crear una contraseña.
public static void main(String[] args) {
//Declaramos las variables que vamos a usar
GeneradorContrasenyas generador = new GeneradorContrasenyas();
//número de caracteres
String LetrasMay, LetrasMin, CaracteresEsp, numeros, resultado = «»;
int numeroCaracteres;
//Esta variable indica el número de carácteres que vamos a usar en cada variable
LetrasMin = «abcdefghijhlmnñopqrtuwxyz»;
//Declaramos el abecedario en minúscula
LetrasMay = «ABCDEFGHIJQLMNÑOPQRTSUVWXYZ»;
//Declaramos el abecedario en mayúscula
CaracteresEsp = «+-*/=%&#!?^“‘~|<>()[]{}:;.,»;
//Declaramos los carácteres especiales
numeros = «1234567890»;//Declaramos los números
Scanner sca = new Scanner(System.in);
//Declaramos la variable Scanner para qye nos pida los números
System.out.println(«Cuantos carácteres minúsculas vas a usar?»);
numeroCaracteres = sca.nextInt();
resultado=generador.aleatorio(resultado, LetrasMin, numeroCaracteres);
System.out.println(«Cuantos carácteres mayúsculas vas a usar?»);
numeroCaracteres = sca.nextInt();
resultado=generador.aleatorio(resultado, LetrasMay, numeroCaracteres);
System.out.println(«Cuantos carácteres especiales vas a usar?»);
numeroCaracteres = sca.nextInt();
resultado=generador.aleatorio(resultado, CaracteresEsp, numeroCaracteres);
System.out.println(«Cuantos carácteres numéricos vas a usar?»);
numeroCaracteres = sca.nextInt();
resultado=generador.aleatorio(resultado, numeros, numeroCaracteres);
System.out.println(«»+resultado);
String arrayPalabras[]=resultado.split(«»);
Collections.shuffle(Arrays.asList(arrayPalabras));
resultado=»»;
for(int i=0;arrayPalabras.length>i;i++){
resultado=resultado+arrayPalabras[i];
}
System.out.println(«»+resultado);
}
//Este es el método generados de númeris aleatorios
public String aleatorio(String resultado, String palabras, int numero) {
String[] arrayPalabra = palabras.split(«»);
int numeroAleatorio = 0;
for (int i = 0; i < numero; i++) {
numeroAleatorio = (int) (Math.random() * (arrayPalabra.length – 1) + 0);
resultado = resultado + arrayPalabra[numeroAleatorio];
}
return resultado;
}
A aquí os dejo el vídeo explicando el anterior código:
Eso ha sido todo por el tutorial de hoy espero que hayáis aprendido algo y hasta la próxima!
Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.