questa classe:

codice:
import java.util.*;

public class PwdGenerator {
    
    /** Creates a new instance of GeneratePwd */
    public PwdGenerator() {
           
    }
    
	Random rnd = new Random();
	
	public static void main(String arfgv[])
	{
		PwdGenerator a = new PwdGenerator();
		System.out.println(a.getPWD());
                PwdGenerator a2 = new PwdGenerator();
		System.out.println(a2.getPWD());

	}

    public String getPWD() {
        
        //decido dimensione password
        int dim = 8;//rnd.nextInt(5);
        //dim = dim+6;
        //decido la quantità di cifre numeriche
        int num = rnd.nextInt(dim-4)+1;
        num= num+2;
        //decido la quantità di cifre alfa
        int alfa = dim-num;
        int appoggio=0;
        String pass="";
        int alterna=0;
        int contnum=1;
        int contalfa=1;
        for (int i=1;i<=dim;i++) {
            alterna = rnd.nextInt(2);
            if (contalfa>alfa){alterna=0;}
            else{if (contnum>num) {alterna=1;}
            }
            if (alterna==1) {contalfa++;
            appoggio = rnd.nextInt(25);
            switch (appoggio) {
                case 0 : pass = pass+"A";break;
                case 1 : pass = pass+"B";break;
                case 2 : pass = pass+"C";break;
                case 3 : pass = pass+"D";break;
                case 4 : pass = pass+"E";break;
                case 5 : pass = pass+"F";break;
                case 6 : pass = pass+"G";break;
                case 7 : pass = pass+"H";break;
                case 8 : pass = pass+"I";break;
                case 9 : pass = pass+"J";break;
                case 10 : pass = pass+"K";break;
                case 11 : pass = pass+"L";break;
                case 12 : pass = pass+"M";break;
                case 13 : pass = pass+"N";break;
                case 14 : pass = pass+"O";break;
                case 15 : pass = pass+"P";break;
                case 16 : pass = pass+"Q";break;
                case 17 : pass = pass+"R";break;
                case 18 : pass = pass+"S";break;
                case 19 : pass = pass+"T";break;
                case 20 : pass = pass+"U";break;
                case 21 : pass = pass+"W";break;
                case 22 : pass = pass+"X";break;
                case 23 : pass = pass+"Y";break;
                case 24 : pass = pass+"Z";break;
            }
            }
            if (alterna==0) {contnum++;
            appoggio = rnd.nextInt(10);
            switch (appoggio) {
                case 0 : pass = pass+"0";break;
                case 1 : pass = pass+"1";break;
                case 2 : pass = pass+"2";break;
                case 3 : pass = pass+"3";break;
                case 4 : pass = pass+"4";break;
                case 5 : pass = pass+"5";break;
                case 6 : pass = pass+"6";break;
                case 7 : pass = pass+"7";break;
                case 8 : pass = pass+"8";break;
                case 9 : pass = pass+"9";break;
            }
            }
        }
        
        return pass;
    }
    
}
viene richiamata da alcune pagine jsp(col codice che segue) per creare una password:
PwdGenerator a = new PwdGenerator();
String pws =a.getPWD();

Io penso che se la pagina che contiene la creazione della password viene richiamata contemporaneamente da 2 utenti(unpo' come avviene nel main che ho mostrato) le password generate sono uguali(per via delle caratteristiche della classe Random )


La mia paura è fondata o si tratta di un'ipotesi semimpossibile?
Come si puo' rimediare?

ciao grazie