Nov 11, 2017 This is an article which is specifically written to generate key used in a Laravel web-based application project. The key generated is very special for several features which is needed by the Laravel web-based application itself.This class provides the functionality of a secret (symmetric) key generator.
Key generators are constructed using one of the
getInstance class methods of this class.
KeyGenerator objects are reusable, i.e., after a key has been generated, the same KeyGenerator object can be re-used to generate further keys.
There are two ways to generate a key: in an algorithm-independent manner, and in an algorithm-specific manner. The only difference between the two is the initialization of the object:
- Algorithm-Independent Initialization
All key generators share the concepts of a keysize and a source of randomness. There is an
initmethod in this KeyGenerator class that takes these two universally shared types of arguments. There is also one that takes just a
keysizeargument, and uses the SecureRandom implementation of the highest-priority installed provider as the source of randomness (or a system-provided source of randomness if none of the installed providers supply a SecureRandom implementation), and one that takes just a source of randomness.
Since no other parameters are specified when you call the above algorithm-independent
initmethods, it is up to the provider what to do about the algorithm-specific parameters (if any) to be associated with each of the keys.
- Algorithm-Specific Initialization
For situations where a set of algorithm-specific parameters already exists, there are two
initmethods that have an
AlgorithmParameterSpecargument. One also has a
SecureRandomargument, while the other uses the SecureRandom implementation of the highest-priority installed provider as the source of randomness (or a system-provided source of randomness if none of the installed providers supply a SecureRandom implementation).
In case the client does not explicitly initialize the KeyGenerator (via a call to an
init method), each provider must supply (and document) a default initialization.
Every implementation of the Java platform is required to support the following standard
KeyGenerator algorithms with the keysizes in parentheses:
Generate A Random Key Html Download
- AES (128)
- DES (56)
- DESede (168)