Краткое и простое решение, но использует только строчные буквы и числовые значения:
Random r = new java.util.Random ();
String s = Long.toString (r.nextLong () & Long.MAX_VALUE, 36);
Размер составляет от 12 цифр до основания 36 и не может быть улучшен дальше. Конечно, вы можете добавить несколько экземпляров.