Comment générer une chaîne alphanumérique aléatoire en Java ?
Bonjour à tous ! J'écris une petite application pour générer des mots de passe et des identifiants temporaires. J'ai besoin de créer des chaînes aléatoires contenant uniquement des lettres latines (a-z, A-Z) et des chiffres (0-9). Par exemple, quelque chose comme "k3R9tB2x" ou "A7fD1qP8".
J'ai essayé d'utiliser UUID, mais il produit des chaînes avec des tirets, dont je n'ai pas besoin. J'ai tenté d'écrire ma propre logique basée sur Math.random(), mais le code devient lourd et peu fiable — parfois il ne produit que des lettres ou que des chiffres. Voici ce que j'ai pondu :
```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();
}
```
Cela fonctionne, mais je ne suis pas sûr que ce soit correct du point de vue des performances et de la sécurité. Existe-t-il des moyens intégrés en Java pour cela ?