¿Cómo generar una cadena alfanumérica aleatoria en Java?
¡Hola a todos! Necesito ayuda para generar una cadena aleatoria que contenga solo dígitos y letras (latín, sin distinción de mayúsculas y minúsculas). Estoy escribiendo una pequeña aplicación para generar contraseñas y códigos de verificación.
Intenté usar `Math.random()` y concatenación de caracteres, pero el código resulta horrible y poco confiable. Esto es lo que tengo:
```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();
}
```
Esto funciona, pero me preocupa el uso de `Math.random()` — he oído que no es la forma más segura para criptografía. Además, a veces se obtienen patrones repetitivos, y es extraño.
Indíquenme cómo generar correctamente cadenas alfanuméricas aleatorias en Java. Necesito que:
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Algoritmos y estructuras de datos en Swift: guía completa para desarrolladores iOS
API GraphQL con TypeScript: tutorial paso a paso para principiantes
GraphQL API con Swift: tutorial paso a paso para principiantes
Java no muere: 10 libros que te convertirán en un profesional en 2025