Java genererer tilfældige strenge
Java genererer tilfældige strenge | På denne side vil vi se forskellige måder at generere tilfældig streng Java på. For at generere en tilfældig streng bruger vi en tilfældig klasse, der findes i Java-biblioteket.
Java-generering af tilfældige strenge ved hjælp af randomUUID()
Metoden randomUUID() defineret i UUID-klassen er en statisk fabrik til at hente en type 4 (pseudo-tilfældigt genereret) UUID. UUID'et genereres ved hjælp af en kryptografisk stærk pseudo-tilfældig talgenerator.
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);
}
}
Her er nogle output-eksempler på generering af tilfældig streng ved hjælp af randomUUID():-
Tilfældig streng:409962da-daeb-4685-87b9-47db2354e266
Tilfældig streng:0eff811c-cf51-4b74-a774-9a4680d8cc00
Tilfældig streng:cc383d27-b030-4f98-a60a-ba13c3b23800
Tilfældig streng:8ead83a3-43b8-4af3-9c04-ba4623e1d8ba
Java Random String Generator Program
I nedenstående program har vi taget alle store bogstaver fra A-Z og en streng med længden 9. Vi har brugt tilfældige klassemetoder til at vælge et hvilket som helst tegn fra A-Z og tilføje det til den nyligt genererede streng.
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);
}
}
Output:-
Tilfældig streng er:CSHDDVOIU
Tilfældig streng er:HHZIOKWRL
Tilfældig streng er:JWFRCALFU
I ovenstående program tog vi kun store bogstaver, derfor indeholder de genererede strenge kun store bogstaver. I nedenstående program tager vi store bogstaver, små bogstaver og tal for at generere strengen.
Java genererer tilfældige strenge – alfanumerisk streng
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);
}
}
Output:-
Tilfældig streng er:iSIA0iasDh
Tilfældig streng er:79LmFdFKOL
Tilfældig streng er:oTdJTWpbhw
Hvis du vil have nogle specialtegn i den genererede streng, så erklær en strengvariabel efter "string3"-variablen og initialiser den med nogle specialtegn. Og føj den streng til "alphaNumeric".
Generer Random Base64 String Java
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());
}
}
Output:-
Random Base64 String er:Q3diKGRMaG8zPlldT2JHLg==
Random Base64 String er:MipLMj50IVR0SyBkXVJjeQ==
Random Base64 String er:QnFHMnE3dDAqbkApXHR2dA==
I ovenstående program til at generere tilfældig base64-streng Java, har vi først defineret en generString()-metode til at generere en tilfældig streng. GenererString()-metoden vil generere en tilfældig streng med en længde på 16 tegn, og den kan indeholde store bogstaver, små bogstaver, tal og specialtegn, som er tilladt at bruge i en adgangskode. Se- Liste over specialtegn til adgangskoden.
Derefter definerede vi en generBase64String()-metode, som internt kalder generString() for at få en tilfældig streng, og så konverterede vi dem til Base64.