Java générant des chaînes aléatoires
Java générant des chaînes aléatoires | Sur cette page, nous verrons différentes manières de générer des chaînes aléatoires Java. Pour générer une chaîne aléatoire, nous utilisons une classe aléatoire présente dans la bibliothèque Java.
Java Génération de chaînes aléatoires à l'aide de randomUUID()
La méthode randomUUID() définie dans la classe UUID est une fabrique statique permettant de récupérer un UUID de type 4 (généré de manière pseudo-aléatoire). L'UUID est généré à l'aide d'un générateur de nombres pseudo-aléatoires cryptographiquement fort.
import java.util.UUID;
public class Main {
public static void main(String args[]) {
UUID uuid = UUID.randomUUID();
String randomString = uuid.toString();
System.out.println("Random string: " + randomString);
}
}
Voici quelques exemples de sortie de génération de chaîne aléatoire à l'aide de randomUUID() :-
Chaîne aléatoire :409962da-daeb-4685-87b9-47db2354e266
Chaîne aléatoire :0eff811c-cf51-4b74-a774-9a4680d8cc00
Chaîne aléatoire :cc383d27-b030-4f98-a60a-ba13c3b23800
Chaîne aléatoire :8ead83a3-43b8-4af3-9c04-ba4623e1d8ba
Programme générateur de chaînes aléatoires Java
Dans le programme ci-dessous, nous avons pris tous les caractères majuscules de A à Z et une chaîne de longueur 9. Nous avons utilisé des méthodes de classe aléatoires pour sélectionner n'importe quel caractère de A à Z et l'ajouter à la chaîne nouvellement générée.
import java.util.Random;
public class Main {
public static void main(String[] args) {
String string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
StringBuilder strbuilder = new StringBuilder();
Random rand = new Random();
int length = 9;
for (int i = 0; i < length; i++) {
int index = rand.nextInt(string.length());
char randomChar = string.charAt(index);
strbuilder.append(randomChar);
}
String randomString = strbuilder.toString();
System.out.println("Random String is: " + randomString);
}
}
Sortie :-
La chaîne aléatoire est :CSHDDVOIU
La chaîne aléatoire est :HHZIOKWRL
La chaîne aléatoire est :JWFRCALFU
Dans le programme ci-dessus, nous n'avons pris que des caractères majuscules, donc les chaînes générées ne contiennent que des caractères majuscules. Dans le programme ci-dessous, nous prendrons des majuscules, des minuscules et des chiffres pour générer la chaîne.
Java générant des chaînes aléatoires – chaîne alphanumérique
import java.util.Random;
public class Main {
public static void main(String[] args) {
String string1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String string2 = string1.toLowerCase();
// Or, String string2 = "abcdefghijklmnopqrstuvwxyz";
String string3 = "0123456789";
// create alphanumeric string
String alphaNumeric = string1 + string2 + string3;
StringBuilder strbuilder = new StringBuilder();
Random rand = new Random();
int length = 10;
for (int i = 0; i < length; i++) {
int index = rand.nextInt(alphaNumeric.length());
strbuilder.append(alphaNumeric.charAt(index));
}
String randomString = strbuilder.toString();
System.out.println("Random String is: " + randomString);
}
}
Sortie :-
La chaîne aléatoire est :iSIA0iasDh
La chaîne aléatoire est :79LmFdFKOL
La chaîne aléatoire est :oTdJTWpbhw
Si vous voulez des caractères spéciaux dans la chaîne générée, déclarez une variable de chaîne après la variable "string3" et initialisez-la avec des caractères spéciaux. Et ajoutez cette chaîne à "alphanumérique".
Générer une chaîne Java Base64 aléatoire
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.Random;
public class Main {
public static String generateBase64String() {
String str = generateString();
try {
return Base64.getEncoder()
.encodeToString(str.getBytes(StandardCharsets
.UTF_8.toString()));
} catch (UnsupportedEncodingException ex) {
throw new RuntimeException(ex);
}
}
private static String generateString() {
String uppercaseChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String lowercaseChars = uppercaseChars.toLowerCase();
String numbers = "0123456789";
String specialChars =
" !\"\'#$%&()*+,-./:;<=>[email protected][\\]^_`{|}~";
String string = uppercaseChars + lowercaseChars +
numbers + specialChars;
StringBuilder strbuilder = new StringBuilder();
Random rand = new Random();
int length = 16;
for (int i = 0; i < length; i++) {
int index = rand.nextInt(string.length());
strbuilder.append(string.charAt(index));
}
return strbuilder.toString();
}
public static void main(String[] args) {
System.out.println("Random Base64 String is: "
+ generateBase64String());
}
}
Sortie :-
La chaîne Base64 aléatoire est :Q3diKGRMaG8zPlldT2JHLg==
La chaîne Base64 aléatoire est :MipLMj50IVR0SyBkXVJjeQ==
La chaîne Base64 aléatoire est :QnFHMnE3dDAqbkApXHR2dA==
Dans le programme ci-dessus pour générer une chaîne Java aléatoire en base64, nous avons d'abord défini une méthode generateString() pour générer une chaîne aléatoire. La méthode generateString() générera une chaîne aléatoire d'une longueur de 16 caractères et elle peut contenir des caractères majuscules, des caractères minuscules, des chiffres et des caractères spéciaux qui sont autorisés à être utilisés dans un mot de passe. Voir- Liste des caractères spéciaux pour le mot de passe.
Après cela, nous avons défini une méthode generateBase64String() qui appelle en interne generateString() pour obtenir une chaîne aléatoire, puis nous les avons converties en Base64.