Foros del Web » Programación para mayores de 30 ;) » Java »

Generar cadena aleatoria y sacar * por pantalla

Estas en el tema de Generar cadena aleatoria y sacar * por pantalla en el foro de Java en Foros del Web. Hola a todos, estoy realizando un programa en Java y no sé como hacer dos cosas: 1) Quiero generar aleatoriamente una palabra, para usar como ...
  #1 (permalink)  
Antiguo 14/05/2007, 09:22
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 279
Antigüedad: 19 años
Puntos: 2
Generar cadena aleatoria y sacar * por pantalla

Hola a todos, estoy realizando un programa en Java y no sé como hacer dos cosas:
1) Quiero generar aleatoriamente una palabra, para usar como clave. Por ejemplo de 4 caracteres, o de 4 a 6 la longitud no es relevante. Puede contener numeros y letras.
2) En mi programa se loguea un usuario, introduce login y password. ¿Cómo hago para q la password, en vez de los caracteres, salgan asteriscos?
Muchas gracias!
  #2 (permalink)  
Antiguo 14/05/2007, 09:34
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años
Puntos: 0
Re: Generar cadena aleatoria y sacar * por pantalla

hola!!

lo de la password cambias de tipo text a password
lo otro no lo se, lo siento
  #3 (permalink)  
Antiguo 14/05/2007, 09:43
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 279
Antigüedad: 19 años
Puntos: 2
Re: Generar cadena aleatoria y sacar * por pantalla

¿Cómo cambiarlo a tipo password? Yo ahora lo tengo definido: String password;

Y el usuario le da un valor por pantalla:

System.out.print("Introduzca su PASSWORD: ");
password = br.readLine();

¿Que tengo que cambiar? GRACIAS
  #4 (permalink)  
Antiguo 15/05/2007, 00:29
Avatar de duendeduende  
Fecha de Ingreso: mayo-2007
Mensajes: 38
Antigüedad: 17 años
Puntos: 0
De acuerdo Re: Generar cadena aleatoria y sacar * por pantalla

Para lo del password, tienes que crearte una caja de texto de tipo password, donde introduces las pass en cuestion :

<input type="password" name="contraseña">

Despues para generar la contraseña aleatoriamente, puedes crearte un array con el abcdario y los numeros del 0 al 9, y haciendo uso de la clase randomize, hacer que te coja solo 4 o 6 de dicho array...

Espero q te sirva la idea.
  #5 (permalink)  
Antiguo 15/05/2007, 12:46
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Generar cadena aleatoria y sacar * por pantalla

Si por lo que parece estas haciendo un programa por consola, hacer que en vez de letras aparezcan asteriscos no es sencillo, aunque creo que recordar que algo cambiaron en ese tema. Es mucho mas facil en un programa estilo swing.

Para generar claves aleatorias, puedes usar Math.random y calcular algun valor, o cualquier cosa parecida. En mi caso, lo que hago a veces es cojer la fecha como String, hacerle un hash y pasarla a base64 o hexadecimal, pero bueno, hay muchas maneras. Todo depende del nivel de seguridad requerido.

S!
  #6 (permalink)  
Antiguo 26/05/2011, 10:50
 
Fecha de Ingreso: abril-2011
Ubicación: lima
Mensajes: 134
Antigüedad: 13 años
Puntos: 3
Respuesta: Generar cadena aleatoria y sacar * por pantalla

public class PasswordGenerator {

public static String NUMEROS = "0123456789";

public static String MAYUSCULAS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

public static String MINUSCULAS = "abcdefghijklmnopqrstuvwxyz";

public static String ESPECIALES = "ñÑ";

//
public static String getPinNumber() {
return getPassword(NUMEROS, 4);
}

public static String getPassword() {
return getPassword(8);
}

public static String getPassword(int length) {
return getPassword(NUMEROS + MAYUSCULAS + MINUSCULAS, length);
}

public static String getPassword(String key, int length) {
String pswd = "";

for (int i = 0; i < length; i++) {
pswd+=(key.charAt((int)(Math.random() * key.length())));
}

return pswd;
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:23.