Package org.jasypt.iv
Class RandomIvGenerator
java.lang.Object
org.jasypt.iv.RandomIvGenerator
- All Implemented Interfaces:
IvGenerator
This implementation of IvGenerator
holds a secure random
generator which can be used for generating random initialization vectors (IV) for encryption.
The algorithm used for random number generation can be configured at instantiation time. If not, the default algorithm will be used.
This class is thread-safe.
- Since:
- 1.9.3
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The default algorithm to be used for secure random number generation: set to SHA1PRNG.private final SecureRandom
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new instance of RandomIvGenerator using the default secure random number generation algorithm.RandomIvGenerator
(String secureRandomAlgorithm) Creates a new instance of RandomIvGenerator specifying a secure random number generation algorithm. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
generateIv
(int lengthBytes) Generate a random IV of the specified length in bytes.boolean
This IV generator needs the IV to be included unencrypted in encryption results, because of its being random.
-
Field Details
-
DEFAULT_SECURE_RANDOM_ALGORITHM
The default algorithm to be used for secure random number generation: set to SHA1PRNG.- See Also:
-
random
-
-
Constructor Details
-
RandomIvGenerator
public RandomIvGenerator()Creates a new instance of RandomIvGenerator using the default secure random number generation algorithm. -
RandomIvGenerator
Creates a new instance of RandomIvGenerator specifying a secure random number generation algorithm.
-
-
Method Details
-
generateIv
public byte[] generateIv(int lengthBytes) Generate a random IV of the specified length in bytes.- Specified by:
generateIv
in interfaceIvGenerator
- Parameters:
lengthBytes
- length in bytes.- Returns:
- the generated IV.
-
includePlainIvInEncryptionResults
public boolean includePlainIvInEncryptionResults()This IV generator needs the IV to be included unencrypted in encryption results, because of its being random. This method will always return true.- Specified by:
includePlainIvInEncryptionResults
in interfaceIvGenerator
- Returns:
- true
-