JDK Tutorials - Herong's Tutorial Examples - v6.32, by Herong Yang
javax.crypto.KeyGenerator - Generating Secret Keys
This section provides a quick introduction of the secret key generation class, javax.crypto.KeyGenerator.
To generate secret keys, I need to learn the javax.crypto.KeyGenerator class.
javax.crypto.KeyGenerator is an abstract class providing a link to implementation classes of secret key generation algorithms provided by various security package providers. Major methods in the KeyGenerator class:
getInstance() - Returns a KeyGenerator object of the specified algorithm from the implementation of the specified provider. If provider is not specified, the default implementation is used. This is a static method.
init() - Initializes this key generator with the specified key size.
generateKey() - Generates a key and returns it as a SecretKey object.
getAlgorithm() - Returns the algorithm name of this generator.
getProvider() - Returns the provider as a Provider object of this generator.
Steps of generating a secret key of a given algorithm are:
KeyGenerator kg = KeyGenerator.getInstance(algorithm); kg.init(keySize); SecretKey ky = kg.generateKey();
See next sections for a sample program on how to use the KeyGenerator class.
Table of Contents
Date, Time and Calendar Classes
Date and Time Object and String Conversion
Number Object and Numeric String Conversion
Locales, Localization Methods and Resource Bundles
Calling and Importing Classes Defined in Unnamed Packages
HashSet, Vector, HashMap and Collection Classes
Character Set Encoding Classes and Methods
Encoding Conversion Programs for Encoded Text Files
Datagram Network Communication
DOM (Document Object Model) - API for XML Files
DTD (Document Type Definition) - XML Validation
XSD (XML Schema Definition) - XML Validation
XSL (Extensible Stylesheet Language)
Message Digest Algorithm Implementations in JDK
Private key and Public Key Pair Generation
PKCS#8/X.509 Private/Public Encoding Standards
Digital Signature Algorithm and Sample Program
"keytool" Commands and "keystore" Files
KeyStore and Certificate Classes
►Secret Key Generation and Management
javax.crypto.SecretKey - The Secret Key Interface
►javax.crypto.KeyGenerator - Generating Secret Keys
Converting Secret Keys to and from Byte Arrays
JceSecretKeyTest.java - Secret Key Test Program
Cipher - Encryption and Decryption
The SSL (Secure Socket Layer) Protocol
SSL Socket Communication Testing Programs