salve ragazzi ho generato una key di 8 caratteri formata da caratteri maiuscoli, minuscoli e numeri.
L'algoritmo è il seguente

codice:
String Codice="";
int i;
int x;
char c;
java.util.Random r = new java.util.Random();
for (i=0;i<8;i++)
{
	x = r.nextInt(3);   //genera un intero tra 0 e 2
	if (x==0)  //genero un carattere casuale tra 'A' e 'Z'
	{	
		c = (char) ((int) 'A' + r.nextInt(26));
		Codice = Codice + c;
	}
	else	
		if (x==1)  //genero un numero casuale tra 0 e 9
		{
			x = r.nextInt(10);
			Codice = Codice + x;
		}
	        else  //genero un carattere casuale tra 'a' e 'z'
		{
			c = (char) ((int) 'a' + r.nextInt(26));
			Codice = Codice + c;
		}
}
Avete qualche suggerimento da darmi a proposito, o pensate che vada bene?
Mi nasce il dubbio perchè le key generate non hanno quasi mai caratteri appartenenti a tutti e tre gli insiemi...