# Hierarchy For Package javax.crypto

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - javax.crypto.Cipher
    - javax.crypto.NullCipher
  - javax.crypto.CipherSpi
  - javax.crypto.EncryptedPrivateKeyInfo
  - javax.crypto.ExemptionMechanism
  - javax.crypto.ExemptionMechanismSpi
  - java.io.InputStream (implements java.io.Closeable)
    - java.io.FilterInputStream
      - javax.crypto.CipherInputStream
  - javax.crypto.KeyAgreement
  - javax.crypto.KeyAgreementSpi
  - javax.crypto.KeyGenerator
  - javax.crypto.KeyGeneratorSpi
  - javax.crypto.Mac (implements java.lang.Cloneable)
  - javax.crypto.MacSpi
  - java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
    - java.io.FilterOutputStream
      - javax.crypto.CipherOutputStream
  - javax.crypto.SealedObject (implements java.io.Serializable)
  - javax.crypto.SecretKeyFactory
  - javax.crypto.SecretKeyFactorySpi
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.security.GeneralSecurityException
        - javax.crypto.BadPaddingException
          - javax.crypto.AEADBadTagException
        - javax.crypto.ExemptionMechanismException
        - javax.crypto.IllegalBlockSizeException
        - javax.crypto.NoSuchPaddingException
        - javax.crypto.ShortBufferException

## Interface Hierarchy

- javax.security.auth.Destroyable
  - javax.crypto.SecretKey (also extends java.security.Key)
- java.io.Serializable
  - java.security.Key
    - javax.crypto.SecretKey (also extends javax.security.auth.Destroyable)