Como gerar uma string alfanumérica aleatória em Java?
Olá a todos! Estou escrevendo uma pequena aplicação para geração de senhas e identificadores temporários. Preciso criar strings aleatórias contendo apenas letras latinas (a-z, A-Z) e dígitos (0-9). Por exemplo, algo como "k3R9tB2x" ou "A7fD1qP8".
Tentei usar UUID, mas ele gera strings com hífens, que não preciso. Tentei escrever minha própria lógica baseada em Math.random(), mas o código fica volumoso e não confiável — às vezes gera apenas letras ou apenas dígitos. Aqui está o que fiz:
```java
String generateRandomString(int length) {
String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
StringBuilder sb = new StringBuilder();
for (int i = 0; i < length; i++) {
int index = (int)(Math.random() * chars.length());
sb.append(chars.charAt(index));
}
return sb.toString();
}
```
Isso funciona, mas não tenho certeza se está correto em termos de performance e segurança. Talvez existam ferramentas embutidas em Java para isso?