public class RandomStringUtils
extends java.lang.Object
Operations for random String
s.
Currently private high surrogate characters are ignored. These are Unicode characters that fall between the values 56192 (db80) and 56319 (dbff) as we don't know how to handle them. High and low surrogates are correctly dealt with - that is if a high surrogate is randomly chosen, 55296 (d800) to 56191 (db7f) then it is followed by a low surrogate. If a low surrogate is chosen, 56320 (dc00) to 57343 (dfff) then it is placed after a randomly chosen high surrogate.
RandomStringUtils is intended for simple use cases. For more advanced use cases consider using commons-text RandomStringGenerator instead.
Caveat: Instances of Random
, upon which the implementation of this
class relies, are not cryptographically secure.
Please note that the Apache Commons project provides a component dedicated to pseudo-random number generation, namely Commons RNG, that may be a better choice for applications with more stringent requirements (performance and/or correctness).
#ThreadSafe#
Constructor and Description |
---|
RandomStringUtils()
RandomStringUtils instances should NOT be constructed in
standard programming. |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
random(int count)
Creates a random string whose length is the number of characters
specified.
|
static java.lang.String |
random(int count,
boolean letters,
boolean numbers)
Creates a random string whose length is the number of characters
specified.
|
static java.lang.String |
random(int count,
char... chars)
Creates a random string whose length is the number of characters
specified.
|
static java.lang.String |
random(int count,
int start,
int end,
boolean letters,
boolean numbers)
Creates a random string whose length is the number of characters
specified.
|
static java.lang.String |
random(int count,
int start,
int end,
boolean letters,
boolean numbers,
char... chars)
Creates a random string based on a variety of options, using
default source of randomness.
|
static java.lang.String |
random(int count,
int start,
int end,
boolean letters,
boolean numbers,
char[] chars,
java.util.Random random)
Creates a random string based on a variety of options, using
supplied source of randomness.
|
static java.lang.String |
random(int count,
java.lang.String chars)
Creates a random string whose length is the number of characters
specified.
|
static java.lang.String |
randomAlphabetic(int count)
Creates a random string whose length is the number of characters
specified.
|
static java.lang.String |
randomAlphabetic(int minLengthInclusive,
int maxLengthExclusive)
Creates a random string whose length is between the inclusive minimum and
the exclusive maximum.
|
static java.lang.String |
randomAlphanumeric(int count)
Creates a random string whose length is the number of characters
specified.
|
static java.lang.String |
randomAlphanumeric(int minLengthInclusive,
int maxLengthExclusive)
Creates a random string whose length is between the inclusive minimum and
the exclusive maximum.
|
static java.lang.String |
randomAscii(int count)
Creates a random string whose length is the number of characters
specified.
|
static java.lang.String |
randomAscii(int minLengthInclusive,
int maxLengthExclusive)
Creates a random string whose length is between the inclusive minimum and
the exclusive maximum.
|
static java.lang.String |
randomGraph(int count)
Creates a random string whose length is the number of characters specified.
|
static java.lang.String |
randomGraph(int minLengthInclusive,
int maxLengthExclusive)
Creates a random string whose length is between the inclusive minimum and
the exclusive maximum.
|
static java.lang.String |
randomNumeric(int count)
Creates a random string whose length is the number of characters
specified.
|
static java.lang.String |
randomNumeric(int minLengthInclusive,
int maxLengthExclusive)
Creates a random string whose length is between the inclusive minimum and
the exclusive maximum.
|
static java.lang.String |
randomPrint(int count)
Creates a random string whose length is the number of characters specified.
|
static java.lang.String |
randomPrint(int minLengthInclusive,
int maxLengthExclusive)
Creates a random string whose length is between the inclusive minimum and
the exclusive maximum.
|
public RandomStringUtils()
RandomStringUtils
instances should NOT be constructed in
standard programming. Instead, the class should be used as
RandomStringUtils.random(5);
.
This constructor is public to permit tools that require a JavaBean instance to operate.
public static java.lang.String random(int count)
Creates a random string whose length is the number of characters specified.
Characters will be chosen from the set of all characters.
count
- the length of random string to createpublic static java.lang.String randomAscii(int count)
Creates a random string whose length is the number of characters specified.
Characters will be chosen from the set of characters whose
ASCII value is between 32
and 126
(inclusive).
count
- the length of random string to createpublic static java.lang.String randomAscii(int minLengthInclusive, int maxLengthExclusive)
Creates a random string whose length is between the inclusive minimum and the exclusive maximum.
Characters will be chosen from the set of characters whose
ASCII value is between 32
and 126
(inclusive).
minLengthInclusive
- the inclusive minimum length of the string to generatemaxLengthExclusive
- the exclusive maximum length of the string to generatepublic static java.lang.String randomAlphabetic(int count)
Creates a random string whose length is the number of characters specified.
Characters will be chosen from the set of Latin alphabetic characters (a-z, A-Z).
count
- the length of random string to createpublic static java.lang.String randomAlphabetic(int minLengthInclusive, int maxLengthExclusive)
Creates a random string whose length is between the inclusive minimum and the exclusive maximum.
Characters will be chosen from the set of Latin alphabetic characters (a-z, A-Z).
minLengthInclusive
- the inclusive minimum length of the string to generatemaxLengthExclusive
- the exclusive maximum length of the string to generatepublic static java.lang.String randomAlphanumeric(int count)
Creates a random string whose length is the number of characters specified.
Characters will be chosen from the set of Latin alphabetic characters (a-z, A-Z) and the digits 0-9.
count
- the length of random string to createpublic static java.lang.String randomAlphanumeric(int minLengthInclusive, int maxLengthExclusive)
Creates a random string whose length is between the inclusive minimum and the exclusive maximum.
Characters will be chosen from the set of Latin alphabetic characters (a-z, A-Z) and the digits 0-9.
minLengthInclusive
- the inclusive minimum length of the string to generatemaxLengthExclusive
- the exclusive maximum length of the string to generatepublic static java.lang.String randomGraph(int count)
Creates a random string whose length is the number of characters specified.
Characters will be chosen from the set of characters which match the POSIX [:graph:] regular expression character class. This class contains all visible ASCII characters (i.e. anything except spaces and control characters).
count
- the length of random string to createpublic static java.lang.String randomGraph(int minLengthInclusive, int maxLengthExclusive)
Creates a random string whose length is between the inclusive minimum and the exclusive maximum.
Characters will be chosen from the set of \p{Graph} characters.
minLengthInclusive
- the inclusive minimum length of the string to generatemaxLengthExclusive
- the exclusive maximum length of the string to generatepublic static java.lang.String randomNumeric(int count)
Creates a random string whose length is the number of characters specified.
Characters will be chosen from the set of numeric characters.
count
- the length of random string to createpublic static java.lang.String randomNumeric(int minLengthInclusive, int maxLengthExclusive)
Creates a random string whose length is between the inclusive minimum and the exclusive maximum.
Characters will be chosen from the set of \p{Digit} characters.
minLengthInclusive
- the inclusive minimum length of the string to generatemaxLengthExclusive
- the exclusive maximum length of the string to generatepublic static java.lang.String randomPrint(int count)
Creates a random string whose length is the number of characters specified.
Characters will be chosen from the set of characters which match the POSIX [:print:] regular expression character class. This class includes all visible ASCII characters and spaces (i.e. anything except control characters).
count
- the length of random string to createpublic static java.lang.String randomPrint(int minLengthInclusive, int maxLengthExclusive)
Creates a random string whose length is between the inclusive minimum and the exclusive maximum.
Characters will be chosen from the set of \p{Print} characters.
minLengthInclusive
- the inclusive minimum length of the string to generatemaxLengthExclusive
- the exclusive maximum length of the string to generatepublic static java.lang.String random(int count, boolean letters, boolean numbers)
Creates a random string whose length is the number of characters specified.
Characters will be chosen from the set of alpha-numeric characters as indicated by the arguments.
count
- the length of random string to createletters
- if true
, generated string may include
alphabetic charactersnumbers
- if true
, generated string may include
numeric characterspublic static java.lang.String random(int count, int start, int end, boolean letters, boolean numbers)
Creates a random string whose length is the number of characters specified.
Characters will be chosen from the set of alpha-numeric characters as indicated by the arguments.
count
- the length of random string to createstart
- the position in set of chars to start atend
- the position in set of chars to end beforeletters
- if true
, generated string may include
alphabetic charactersnumbers
- if true
, generated string may include
numeric characterspublic static java.lang.String random(int count, int start, int end, boolean letters, boolean numbers, char... chars)
Creates a random string based on a variety of options, using default source of randomness.
This method has exactly the same semantics as
random(int,int,int,boolean,boolean,char[],Random)
, but
instead of using an externally supplied source of randomness, it uses
the internal static Random
instance.
count
- the length of random string to createstart
- the position in set of chars to start atend
- the position in set of chars to end beforeletters
- only allow letters?numbers
- only allow numbers?chars
- the set of chars to choose randoms from.
If null
, then it will use the set of all chars.java.lang.ArrayIndexOutOfBoundsException
- if there are not
(end - start) + 1
characters in the set array.public static java.lang.String random(int count, int start, int end, boolean letters, boolean numbers, char[] chars, java.util.Random random)
Creates a random string based on a variety of options, using supplied source of randomness.
If start and end are both 0
, start and end are set
to ' '
and 'z'
, the ASCII printable
characters, will be used, unless letters and numbers are both
false
, in which case, start and end are set to
0
and Character.MAX_CODE_POINT
.
If set is not null
, characters between start and
end are chosen.
This method accepts a user-supplied Random
instance to use as a source of randomness. By seeding a single
Random
instance with a fixed seed and using it for each call,
the same random sequence of strings can be generated repeatedly
and predictably.
count
- the length of random string to createstart
- the position in set of chars to start at (inclusive)end
- the position in set of chars to end before (exclusive)letters
- only allow letters?numbers
- only allow numbers?chars
- the set of chars to choose randoms from, must not be empty.
If null
, then it will use the set of all chars.random
- a source of randomness.java.lang.ArrayIndexOutOfBoundsException
- if there are not
(end - start) + 1
characters in the set array.java.lang.IllegalArgumentException
- if count
< 0 or the provided chars array is empty.public static java.lang.String random(int count, java.lang.String chars)
Creates a random string whose length is the number of characters specified.
Characters will be chosen from the set of characters specified by the string, must not be empty. If null, the set of all characters is used.
count
- the length of random string to createchars
- the String containing the set of characters to use,
may be null, but must not be emptyjava.lang.IllegalArgumentException
- if count
< 0 or the string is empty.public static java.lang.String random(int count, char... chars)
Creates a random string whose length is the number of characters specified.
Characters will be chosen from the set of characters specified.
count
- the length of random string to createchars
- the character array containing the set of characters to use,
may be nulljava.lang.IllegalArgumentException
- if count
< 0."Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"