¿Cómo generar una cadena alfanumérica aleatoria en Java?
¡Hola a todos! Estoy escribiendo una pequeña aplicación para generar contraseñas e identificadores temporales. Necesito crear cadenas aleatorias que contengan solo letras latinas (a-z, A-Z) y dígitos (0-9). Por ejemplo, algo como "k3R9tB2x" o "A7fD1qP8".
Intenté usar UUID, pero genera cadenas con guiones, que no necesito. Traté de escribir mi propia lógica basada en Math.random(), pero el código resulta voluminoso y poco confiable: a veces genera solo letras o solo dígitos. Esto es lo que hice:
```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();
}
```
Esto funciona, pero no estoy seguro de que sea correcto en términos de rendimiento y seguridad. ¿Quizás haya herramientas integradas en Java para