Java KeyGenerator
Jakob Jenkov |
The Java KeyGenerator class (javax.crypto.KeyGenerator) is used to generate symmetric
encryption keys. A symmetric encryption key
is a key that is used for both encryption and decryption of data, by a symmetric encryption algorithm.
In this Java KeyGenerator tutorial I will show you how to generate symmetric encryption keys.
Creating a KeyGenerator Instance
Before you can use the Java KeyGenerator class you must create a KeyGenerator
instance. You create a KeyGenerator instance by calling the static method getInstance()
passing as parameter the name of the encryption algorithm to create a key for. Here is an example of creating
a Java KeyGenerator instance:
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
This example creates a KeyGenerator instance which can generate keys for the AES encryption algorithm.
Initializing the KeyGenerator
After creating the KeyGenerator instance you must initialize it. Initializing a KeyGenerator
instance is done by calling its init() method. Here is an example of initializing a KeyGenerator
instance:
SecureRandom secureRandom = new SecureRandom(); int keyBitSize = 256; keyGenerator.init(keyBitSize, secureRandom);
The KeyGenerator init() method takes two parameters: The bit size of the keys to generate,
and a SecureRandom that is used during key generation.
Generating a Key
Once the Java KeyGenerator instance is initialized you can use it to generate keys. Generating a
key is done by calling the KeyGenerator generateKey() method. Here is an example of
generating a symmetric key:
SecretKey secretKey = keyGenerator.generateKey();
| Tweet | |
Jakob Jenkov | |











