compact1, compact2, compact3
java.security

## Enum CryptoPrimitive

- java.lang.Object
- - java.lang.Enum<CryptoPrimitive>
  - - java.security.CryptoPrimitive

- All Implemented Interfaces:
    Serializable, Comparable<CryptoPrimitive>

      public enum CryptoPrimitive
      extends Enum<CryptoPrimitive>

  An enumeration of cryptographic primitives.
  Since:
    1.7

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---
    `BLOCK_CIPHER` | Symmetric primitive: block cipher
    `KEY_AGREEMENT` | Asymmetric primitive: key agreement and key distribution
    `KEY_ENCAPSULATION` | Asymmetric primitive: key encapsulation mechanism
    `KEY_WRAP` | Symmetric primitive: key wrap
    `MAC` | Symmetric primitive: message authentication code
    `MESSAGE_DIGEST` | Hash function
    `PUBLIC_KEY_ENCRYPTION` | Asymmetric primitive: public key encryption
    `SECURE_RANDOM` | Cryptographic random number generator
    `SIGNATURE` | Asymmetric primitive: signature scheme
    `STREAM_CIPHER` | Symmetric primitive: stream cipher

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static CryptoPrimitive` | `valueOf(String name)` | Returns the enum constant of this type with the specified name.
    `static CryptoPrimitive[]` | `values()` | Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### MESSAGE_DIGEST

          public static final CryptoPrimitive MESSAGE_DIGEST

      Hash function

    - #### SECURE_RANDOM

          public static final CryptoPrimitive SECURE_RANDOM

      Cryptographic random number generator

    - #### BLOCK_CIPHER

          public static final CryptoPrimitive BLOCK_CIPHER

      Symmetric primitive: block cipher

    - #### STREAM_CIPHER

          public static final CryptoPrimitive STREAM_CIPHER

      Symmetric primitive: stream cipher

    - #### MAC

          public static final CryptoPrimitive MAC

      Symmetric primitive: message authentication code

    - #### KEY_WRAP

          public static final CryptoPrimitive KEY_WRAP

      Symmetric primitive: key wrap

    - #### PUBLIC_KEY_ENCRYPTION

          public static final CryptoPrimitive PUBLIC_KEY_ENCRYPTION

      Asymmetric primitive: public key encryption

    - #### SIGNATURE

          public static final CryptoPrimitive SIGNATURE

      Asymmetric primitive: signature scheme

    - #### KEY_ENCAPSULATION

          public static final CryptoPrimitive KEY_ENCAPSULATION

      Asymmetric primitive: key encapsulation mechanism

    - #### KEY_AGREEMENT

          public static final CryptoPrimitive KEY_AGREEMENT

      Asymmetric primitive: key agreement and key distribution

  - ### Method Detail

    - #### values

          public static CryptoPrimitive[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (CryptoPrimitive c : CryptoPrimitive.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static CryptoPrimitive valueOf(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `IllegalArgumentException` - if this enum type has no constant with the specified name
        `NullPointerException` - if the argument is null

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.