Java : Random alphabets, alpha-numeric or numbers only string generator
A simple Java function to generate random string based on given parameter - alpha
, alphanum
and numeric
. Depending on the parameter type, this function will generate random string that is composed of alphabets, mixed of alphabets and numbers or just plain numbers only.
Here you go!
package socketloop;
import java.security.SecureRandom;
public class HumanReadablePasswordGenerator {
private static SecureRandom random = new SecureRandom();
private static final String ALPHA_NUMERIC_DICTIONARY = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
private static final String ALPHA_DICTIONARY = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
private static final String NUMERIC_DICTIONARY = "0123456789";
public static void main(String[] args) {
System.out.format("Random ALPHA NUMERIC string : %s%n", randStr(12,"alphanum"));
System.out.format("Random ALPHA string : %s%n", randStr(12,"alpha"));
System.out.format("Random NUMERIC string : %s%n", randStr(12,"numeric"));
}
public static String randStr(int strSize, String type) {
// sanity check
if (strSize < 1) throw new IllegalArgumentException();
// initialize
StringBuilder data = new StringBuilder(strSize);
char randomCharacter = 'a';
int character = 0;
while (strSize-- != 0) {
if (type == "alphanum") {
int characterLength = (int)(Math.random()*ALPHA_NUMERIC_DICTIONARY.length());
// sometimes using SecureRandom will introduce "bound must be positive" IllegalArgumentExecption here
if (characterLength > 0) {
character = random.nextInt(characterLength);
} else {
character = characterLength;
}
randomCharacter = ALPHA_NUMERIC_DICTIONARY.charAt(character);
}
if (type == "alpha") {
int characterLength = (int)(Math.random()*ALPHA_DICTIONARY.length());
// sometimes using SecureRandom will introduce "bound must be positive" IllegalArgumentExecption here
if (characterLength > 0) {
character = random.nextInt(characterLength);
} else {
character = characterLength;
}
randomCharacter = ALPHA_DICTIONARY.charAt(character);
}
if (type == "numeric") {
int characterLength = (int)(Math.random()*NUMERIC_DICTIONARY.length());
// sometimes using SecureRandom will introduce "bound must be positive" IllegalArgumentExecption here
if (characterLength > 0) {
character = random.nextInt(characterLength);
} else {
character = characterLength;
}
randomCharacter = NUMERIC_DICTIONARY.charAt(character);
}
data.append(randomCharacter);
}
return data.toString();
}
}
Sample output:
Random ALPHA NUMERIC string : 0M40310F4HR2
Random ALPHA string : ATdXEOYJJMIM
Random NUMERIC string : 103010200000
See also : Golang : Generate random string
By Adam Ng(黃武俊)
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+4.9k Golang : micron to centimeter example
+13.6k Golang : Check if an integer is negative or positive
+4.9k Linux/Unix/MacOSX : Find out which application is listening to port 80 or use which IP version
+21.6k Golang : Upload big file (larger than 100MB) to AWS S3 with multipart upload
+5.3k Golang : Get S3 or CloudFront object or file information
+10k Golang : How to tokenize source code with text/scanner package?
+22.5k Golang : Round float to precision example
+6.2k WARNING: UNPROTECTED PRIVATE KEY FILE! error message
+29.6k Golang : Get and Set User-Agent examples
+7.5k Golang : Error reading timestamp with GORM or SQL driver
+12.4k Golang : Forwarding a local port to a remote server example
+11.5k Golang : Concurrency and goroutine example