# Interface DigestMethod

All Superinterfaces:
  `AlgorithmMethod, XMLStructure`

public interface DigestMethod extends XMLStructure, AlgorithmMethod
A representation of the XML `DigestMethod` element as defined in the W3C Recommendation for XML-Signature Syntax and Processing. The XML Schema Definition is defined as:

      <element name="DigestMethod" type="ds:DigestMethodType"/>
        <complexType name="DigestMethodType" mixed="true">
          <sequence>
            <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
              <!-- (0,unbounded) elements from (1,1) namespace -->
          </sequence>
          <attribute name="Algorithm" type="anyURI" use="required"/>
        </complexType>

A `DigestMethod` instance may be created by invoking the `newDigestMethod` method of the `XMLSignatureFactory` class.

The digest method algorithm URIs defined in this class are specified in the W3C Recommendation for XML-Signature Syntax and Processing and RFC 9231: Additional XML Security Uniform Resource Identifiers (URIs)

Since:
  1.6
See Also:
  - `XMLSignatureFactory.newDigestMethod(String, DigestMethodParameterSpec)`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `RIPEMD160`
  The RIPEMD-160 digest method algorithm URI.
  `static final String`
  `SHA1`
  The SHA1 digest method algorithm URI.
  `static final String`
  `SHA224`
  The SHA224 digest method algorithm URI.
  `static final String`
  `SHA256`
  The SHA256 digest method algorithm URI.
  `static final String`
  `SHA3_224`
  The SHA3-224 digest method algorithm URI.
  `static final String`
  `SHA3_256`
  The SHA3-256 digest method algorithm URI.
  `static final String`
  `SHA3_384`
  The SHA3-384 digest method algorithm URI.
  `static final String`
  `SHA3_512`
  The SHA3-512 digest method algorithm URI.
  `static final String`
  `SHA384`
  The SHA384 digest method algorithm URI.
  `static final String`
  `SHA512`
  The SHA512 digest method algorithm URI.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AlgorithmParameterSpec`
  `getParameterSpec()`
  Returns the algorithm-specific input parameters associated with this `DigestMethod`.

  ### Methods declared in interface AlgorithmMethod

  `getAlgorithm`

  ### Methods declared in interface XMLStructure

  `isFeatureSupported`

- ## Field Details

  - ### SHA1

    static final String SHA1
    The SHA1 digest method algorithm URI.
    See Also:
      - Constant Field Values

  - ### SHA224

    static final String SHA224
    The SHA224 digest method algorithm URI.
    Since:
      11
    See Also:
      - Constant Field Values

  - ### SHA256

    static final String SHA256
    The SHA256 digest method algorithm URI.
    See Also:
      - Constant Field Values

  - ### SHA384

    static final String SHA384
    The SHA384 digest method algorithm URI.
    Since:
      11
    See Also:
      - Constant Field Values

  - ### SHA512

    static final String SHA512
    The SHA512 digest method algorithm URI.
    See Also:
      - Constant Field Values

  - ### RIPEMD160

    static final String RIPEMD160
    The RIPEMD-160 digest method algorithm URI.
    See Also:
      - Constant Field Values

  - ### SHA3_224

    static final String SHA3_224
    The SHA3-224 digest method algorithm URI.
    Since:
      11
    See Also:
      - Constant Field Values

  - ### SHA3_256

    static final String SHA3_256
    The SHA3-256 digest method algorithm URI.
    Since:
      11
    See Also:
      - Constant Field Values

  - ### SHA3_384

    static final String SHA3_384
    The SHA3-384 digest method algorithm URI.
    Since:
      11
    See Also:
      - Constant Field Values

  - ### SHA3_512

    static final String SHA3_512
    The SHA3-512 digest method algorithm URI.
    Since:
      11
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getParameterSpec

    AlgorithmParameterSpec getParameterSpec()
    Returns the algorithm-specific input parameters associated with this `DigestMethod`.

    The returned parameters can be typecast to a `DigestMethodParameterSpec` object.

    Specified by:
      `getParameterSpec` in interface `AlgorithmMethod`
    Returns:
      the algorithm-specific parameters (may be `null` if not specified)