Avatar ·

Como gerar uma string alfanumérica aleatória em Java?

Olá a todos! Preciso de ajuda para gerar uma string aleatória contendo apenas dígitos e letras (latim, sem distinção de maiúsculas/minúsculas). Estou escrevendo um pequeno aplicativo para gerar senhas e códigos de verificação. Tentei usar `Math.random()` e concatenação de caracteres, mas o código fica horrível e não confiável. Aqui está o que tenho: ```java public static 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 me incomoda o uso de `Math.random()` — ouvi dizer que não é a maneira mais segura para criptografia. Além disso, às vezes aparecem padrões repetitivos, o que é estranho. Digam-me como gerar strings alfanuméricas aleatórias corretamente em Java? Preciso que: