SecureRandom randomGen = new SecureRandom();
StringBuffer result = new StringBuffer();
int count = 0;
while (count < length) {
int randomSel = randomGen.nextInt(3);
int randomInt = randomGen.nextInt(26);
char randomChar = '0';
switch (randomSel) {
case 0: randomChar = (char) (((int)'A') + randomInt); break;
case 1: randomChar = (char) (((int)'a') + randomInt); break;
case 2: randomChar = (char) (((int)'0') + (randomInt % 10)); break;