# Print output for @column tags ?>
Support for encryption includes symmetric, asymmetric, block, and stream ciphers. This package also supports secure streams and sealed objects.
Many of the classes provided in this package are provider-based. The class itself defines a programming interface to which applications may write. The implementations themselves may then be written by independent third-party vendors and plugged in seamlessly as needed. Therefore application developers may take advantage of any number of provider-based implementations without having to add or rewrite code.
| SecretKey | A secret (symmetric) key. |
| Cipher | This class provides the functionality of a cryptographic cipher for encryption and decryption. |
| CipherInputStream | A CipherInputStream is composed of an InputStream and a Cipher so that read() methods return data that are read in from the underlying InputStream but have been additionally processed by the Cipher. |
| CipherOutputStream | A CipherOutputStream is composed of an OutputStream and a Cipher so that write() methods first process the data before writing them out to the underlying OutputStream. |
| CipherSpi |
This class defines the Service Provider Interface (SPI)
for the Cipher class.
|
| EncryptedPrivateKeyInfo |
This class implements the EncryptedPrivateKeyInfo type
as defined in PKCS #8.
|
| ExemptionMechanism | This class provides the functionality of an exemption mechanism, examples of which are key recovery, key weakening, and key escrow. |
| ExemptionMechanismSpi |
This class defines the Service Provider Interface (SPI)
for the ExemptionMechanism class.
|
| KeyAgreement | This class provides the functionality of a key agreement (or key exchange) protocol. |
| KeyAgreementSpi |
This class defines the Service Provider Interface (SPI)
for the KeyAgreement class.
|
| KeyGenerator | This class provides the functionality of a secret (symmetric) key generator. |
| KeyGeneratorSpi |
This class defines the Service Provider Interface (SPI)
for the KeyGenerator class.
|
| Mac | This class provides the functionality of a "Message Authentication Code" (MAC) algorithm. |
| MacSpi |
This class defines the Service Provider Interface (SPI)
for the Mac class.
|
| NullCipher | The NullCipher class is a class that provides an "identity cipher" -- one that does not transform the plain text. |
| SealedObject | This class enables a programmer to create an object and protect its confidentiality with a cryptographic algorithm. |
| SecretKeyFactory | This class represents a factory for secret keys. |
| SecretKeyFactorySpi |
This class defines the Service Provider Interface (SPI)
for the SecretKeyFactory class.
|
| AEADBadTagException |
This exception is thrown when a Cipher operating in
an AEAD mode (such as GCM/CCM) is unable to verify the supplied
authentication tag.
|
| BadPaddingException | This exception is thrown when a particular padding mechanism is expected for the input data but the data is not padded properly. |
| ExemptionMechanismException | This is the generic ExemptionMechanism exception. |
| IllegalBlockSizeException | This exception is thrown when the length of data provided to a block cipher is incorrect, i.e., does not match the block size of the cipher. |
| NoSuchPaddingException | This exception is thrown when a particular padding mechanism is requested but is not available in the environment. |
| ShortBufferException | This exception is thrown when an output buffer provided by the user is too short to hold the operation result. |