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

Generar un String aleatorio

Estas en el tema de Generar un String aleatorio en el foro de Java en Foros del Web. Buenas a todos. Quiero generar Strings aleatorios con números y letras y se me ha ocurrido esto: String[] elementos={"0","1","2","3","4","5","6","7","8","9" ,"a", "b","c","d","e","f","g","h","i","j","k","l","m","n ","ñ","o","p","q","r","s","t", "u","v","w","x","y","z"}; ArrayList conjunto ...
  #1 (permalink)  
Antiguo 04/02/2008, 12:22
 
Fecha de Ingreso: enero-2008
Mensajes: 19
Antigüedad: 16 años, 3 meses
Puntos: 0
Generar un String aleatorio

Buenas a todos.
Quiero generar Strings aleatorios con números y letras y se me ha ocurrido esto:

String[] elementos={"0","1","2","3","4","5","6","7","8","9" ,"a",
"b","c","d","e","f","g","h","i","j","k","l","m","n ","ñ","o","p","q","r","s","t",
"u","v","w","x","y","z"};
ArrayList conjunto = new ArrayList();
String pass;

public String creaPass(){
for(int i=0;i<8;i++){
int el = (int)(Math.random()*37);
conjunto.add(elementos[el]);
}
return pass = conjunto.toString();
}

Es un poco bastante chapucero y lo peor de todo es que el String pass sale como un vector, de esta forma [x,u,i,8,y,z,9,s] (por ejemplo) y yo quiero que salga así: xui8yz9s.

¿Cómo se haría de una forma menos chapucera?
Y sobretodo... ¿Cómo se haría para que el resultado sea un String normal?

Gracias.
  #2 (permalink)  
Antiguo 04/02/2008, 18:48
 
Fecha de Ingreso: mayo-2007
Mensajes: 210
Antigüedad: 16 años, 11 meses
Puntos: 8
Re: Generar un String aleatorio

lo que podrias hacer es crear un arreglo de char en vez del array

char[] elementos={'0','1','2','3','4','5','6','7','8','9' ,'a',
'b','c','d','e','f','g','h','i','j','k','l','m','n ','ñ','o','p','q','r','s','t',
'u','v','w','x','y','z'};

char[] conjunto = new char[8];
String pass;

public String creaPass(){
for(int i=0;i<8;i++){
int el = (int)(Math.random()*37);
conjunto.[i] = (char)elementos[el];
}
return pass = new String(conjunto);
}

espero que te ayude

salu2
  #3 (permalink)  
Antiguo 05/02/2008, 05:34
 
Fecha de Ingreso: enero-2008
Mensajes: 19
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Generar un String aleatorio

Muchas gracias, al final he hecho lo que has puesto.
  #4 (permalink)  
Antiguo 05/02/2008, 06:59
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Generar un String aleatorio

Yo lo que hago es encriptar el numero de milisegundos de la hora actual y mostrar el numero de caracteres que necesito en base64 .
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 06:48.