Chaine de caractères aléatoire
Résolu/Fermé
A voir également:
- Chaine de caractères aléatoire
- Caractères ascii - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractères spéciaux clavier azerty - Guide
- Caractères spéciaux - Guide
- Plus de chaine tv - Guide
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
24 févr. 2013 à 11:07
24 févr. 2013 à 11:07
Le UUID (Universal Unique IDentifier), n'est pas fait pour générer une chaîne de caractères aléatoires, mais comme son nom l'indique un identifiant !
Si tu veux de l'aléatoire, utilise la classe Random, tu peux ensuite mettre en forme un BigInteger dans la base de ton choix. Par exemple la base 36 qui permet d'avoir une représentation des entiers aléatoires avec 10 chiffres et 26 lettres.
Exemple :
Si tu veux de l'aléatoire, utilise la classe Random, tu peux ensuite mettre en forme un BigInteger dans la base de ton choix. Par exemple la base 36 qui permet d'avoir une représentation des entiers aléatoires avec 10 chiffres et 26 lettres.
Exemple :
private static final Random random = new Random(); /** * @param p poids de l'entier (en octets) * @param n nombre de caractères à utiliser (entre 2 et 36) * @return une chaîne de caractères représentant en base 'n' un entier aléatoire de 'p' octets */ public static String randomString(int p, int n) { byte[] bytes = new byte[p]; random.nextBytes(bytes); BigInteger big = new BigInteger(bytes).abs(); return big.toString(n); } /** * @param length taille de la chaine de caractères * @return une chaîne de caractères de taille 'length' représentées avec tous les chiffres et lettres. */ public static String randomString(int length) { String str = randomString(length,36); return str.substring(str.length()-length); }