javax.crypto

Provides the classes and interfaces for cryptographic operations. The
cryptographic operations defined in this package include encryption,
key generation and key agreement, and Message Authentication Code
(MAC) generation.

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.