Stay organized with collections
    
    
      
      Save and categorize content based on your preferences.
    
  
  
    
  
  
  
  
    
    
    
  
  
    
    
  
  
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.
 
Package Specification
 
 
 For further documentation, please see:
 
  
  
    Interfaces
    
  
  
  
  
    Classes
    
  
  
    
      
        | 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 Cipherclass. | 
      
    
      
        | EncryptedPrivateKeyInfo | This class implements the EncryptedPrivateKeyInfotype
 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 ExemptionMechanismclass. | 
      
    
      
        | 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 KeyAgreementclass. | 
      
    
      
        | KeyGenerator | This class provides the functionality of a secret (symmetric) key generator. | 
      
    
      
        | KeyGeneratorSpi | This class defines the Service Provider Interface (SPI)
 for the KeyGeneratorclass. | 
      
    
      
        | Mac | This class provides the functionality of a "Message Authentication Code"
 (MAC) algorithm. | 
      
    
      
        | MacSpi | This class defines the Service Provider Interface (SPI)
 for the Macclass. | 
      
    
      
        | 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 SecretKeyFactoryclass. | 
      
    
  
  
  
  
    Exceptions
    
  
  
    
      
        | AEADBadTagException | This exception is thrown when a Cipheroperating 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. | 
      
    
  
  
  
 
  
  
    
    
    - Interfaces
- Classes
- Exceptions
 
 
  
  
    
  
 
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
  Last updated 2025-02-10 UTC.
  
  
  
    
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[]]