HmacUtils (Encode/Decode Utilities (Version 1.10))
Date: 2019-08-31

org.apache.commons.codec.digest

## Class HmacUtils

- java.lang.Object
- - org.apache.commons.codec.digest.HmacUtils

-     public final class HmacUtils
      extends java.lang.Object

  Simplifies common `Mac` tasks. This class is immutable and thread-safe.

  Note: Not all JCE implementations supports all algorithms. If not supported, an IllegalArgumentException is thrown.

  Since:
    1.10
  Version:
    $Id: HmacUtils.java 1634411 2014-10-27 00:35:43Z ggregory $

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private static int` | `STREAM_BUFFER_LENGTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HmacUtils()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static javax.crypto.Mac` | `getHmacMd5(byte[] key)` Returns an initialized `Mac` for the HmacMD5 algorithm.
    `static javax.crypto.Mac` | `getHmacSha1(byte[] key)` Returns an initialized `Mac` for the HmacSHA1 algorithm.
    `static javax.crypto.Mac` | `getHmacSha256(byte[] key)` Returns an initialized `Mac` for the HmacSHA256 algorithm.
    `static javax.crypto.Mac` | `getHmacSha384(byte[] key)` Returns an initialized `Mac` for the HmacSHA384 algorithm.
    `static javax.crypto.Mac` | `getHmacSha512(byte[] key)` Returns an initialized `Mac` for the HmacSHA512 algorithm.
    `static javax.crypto.Mac` | `getInitializedMac(HmacAlgorithms algorithm, byte[] key)` Returns an initialized `Mac` for the given `algorithm`.
    `static javax.crypto.Mac` | `getInitializedMac(java.lang.String algorithm, byte[] key)` Returns an initialized `Mac` for the given `algorithm`.
    `static byte[]` | `hmacMd5(byte[] key, byte[] valueToDigest)` Returns a HmacMD5 Message Authentication Code (MAC) for the given key and value.
    `static byte[]` | `hmacMd5(byte[] key, java.io.InputStream valueToDigest)` Returns a HmacMD5 Message Authentication Code (MAC) for the given key and value.
    `static byte[]` | `hmacMd5(java.lang.String key, java.lang.String valueToDigest)` Returns a HmacMD5 Message Authentication Code (MAC) for the given key and value.
    `static java.lang.String` | `hmacMd5Hex(byte[] key, byte[] valueToDigest)` Returns a HmacMD5 Message Authentication Code (MAC) as a hex string (lowercase) for the given key and value.
    `static java.lang.String` | `hmacMd5Hex(byte[] key, java.io.InputStream valueToDigest)` Returns a HmacMD5 Message Authentication Code (MAC) as a hex string (lowercase) for the given key and value.
    `static java.lang.String` | `hmacMd5Hex(java.lang.String key, java.lang.String valueToDigest)` Returns a HmacMD5 Message Authentication Code (MAC) as a hex string (lowercase) for the given key and value.
    `static byte[]` | `hmacSha1(byte[] key, byte[] valueToDigest)` Returns a HmacSHA1 Message Authentication Code (MAC) for the given key and value.
    `static byte[]` | `hmacSha1(byte[] key, java.io.InputStream valueToDigest)` Returns a HmacSHA1 Message Authentication Code (MAC) for the given key and value.
    `static byte[]` | `hmacSha1(java.lang.String key, java.lang.String valueToDigest)` Returns a HmacSHA1 Message Authentication Code (MAC) for the given key and value.
    `static java.lang.String` | `hmacSha1Hex(byte[] key, byte[] valueToDigest)` Returns a HmacSHA1 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
    `static java.lang.String` | `hmacSha1Hex(byte[] key, java.io.InputStream valueToDigest)` Returns a HmacSHA1 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
    `static java.lang.String` | `hmacSha1Hex(java.lang.String key, java.lang.String valueToDigest)` Returns a HmacSHA1 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
    `static byte[]` | `hmacSha256(byte[] key, byte[] valueToDigest)` Returns a HmacSHA256 Message Authentication Code (MAC) for the given key and value.
    `static byte[]` | `hmacSha256(byte[] key, java.io.InputStream valueToDigest)` Returns a HmacSHA256 Message Authentication Code (MAC) for the given key and value.
    `static byte[]` | `hmacSha256(java.lang.String key, java.lang.String valueToDigest)` Returns a HmacSHA256 Message Authentication Code (MAC) for the given key and value.
    `static java.lang.String` | `hmacSha256Hex(byte[] key, byte[] valueToDigest)` Returns a HmacSHA256 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
    `static java.lang.String` | `hmacSha256Hex(byte[] key, java.io.InputStream valueToDigest)` Returns a HmacSHA256 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
    `static java.lang.String` | `hmacSha256Hex(java.lang.String key, java.lang.String valueToDigest)` Returns a HmacSHA256 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
    `static byte[]` | `hmacSha384(byte[] key, byte[] valueToDigest)` Returns a HmacSHA384 Message Authentication Code (MAC) for the given key and value.
    `static byte[]` | `hmacSha384(byte[] key, java.io.InputStream valueToDigest)` Returns a HmacSHA384 Message Authentication Code (MAC) for the given key and value.
    `static byte[]` | `hmacSha384(java.lang.String key, java.lang.String valueToDigest)` Returns a HmacSHA384 Message Authentication Code (MAC) for the given key and value.
    `static java.lang.String` | `hmacSha384Hex(byte[] key, byte[] valueToDigest)` Returns a HmacSHA384 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
    `static java.lang.String` | `hmacSha384Hex(byte[] key, java.io.InputStream valueToDigest)` Returns a HmacSHA384 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
    `static java.lang.String` | `hmacSha384Hex(java.lang.String key, java.lang.String valueToDigest)` Returns a HmacSHA384 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
    `static byte[]` | `hmacSha512(byte[] key, byte[] valueToDigest)` Returns a HmacSHA512 Message Authentication Code (MAC) for the given key and value.
    `static byte[]` | `hmacSha512(byte[] key, java.io.InputStream valueToDigest)` Returns a HmacSHA512 Message Authentication Code (MAC) for the given key and value.
    `static byte[]` | `hmacSha512(java.lang.String key, java.lang.String valueToDigest)` Returns a HmacSHA512 Message Authentication Code (MAC) for the given key and value.
    `static java.lang.String` | `hmacSha512Hex(byte[] key, byte[] valueToDigest)` Returns a HmacSHA512 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
    `static java.lang.String` | `hmacSha512Hex(byte[] key, java.io.InputStream valueToDigest)` Returns a HmacSHA512 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
    `static java.lang.String` | `hmacSha512Hex(java.lang.String key, java.lang.String valueToDigest)` Returns a HmacSHA512 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
    `static javax.crypto.Mac` | `updateHmac(javax.crypto.Mac mac, byte[] valueToDigest)` Updates the given `Mac`.
    `static javax.crypto.Mac` | `updateHmac(javax.crypto.Mac mac, java.io.InputStream valueToDigest)` Updates the given `Mac`.
    `static javax.crypto.Mac` | `updateHmac(javax.crypto.Mac mac, java.lang.String valueToDigest)` Updates the given `Mac`.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### STREAM_BUFFER_LENGTH

          private static final int STREAM_BUFFER_LENGTH

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### HmacUtils

          public HmacUtils()

  - ### Method Detail

    - #### getHmacMd5

          public static javax.crypto.Mac getHmacMd5(byte[] key)

      Returns an initialized `Mac` for the HmacMD5 algorithm.

      Every implementation of the Java platform is required to support this standard Mac algorithm.

      Parameters:
        `key` - They key for the keyed digest (must not be null)
      Returns:
        A Mac instance initialized with the given key.
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.
      See Also:
        `Mac.getInstance(String)`, `Mac.init(Key)`

    - #### getHmacSha1

          public static javax.crypto.Mac getHmacSha1(byte[] key)

      Returns an initialized `Mac` for the HmacSHA1 algorithm.

      Every implementation of the Java platform is required to support this standard Mac algorithm.

      Parameters:
        `key` - They key for the keyed digest (must not be null)
      Returns:
        A Mac instance initialized with the given key.
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.
      See Also:
        `Mac.getInstance(String)`, `Mac.init(Key)`

    - #### getHmacSha256

          public static javax.crypto.Mac getHmacSha256(byte[] key)

      Returns an initialized `Mac` for the HmacSHA256 algorithm.

      Every implementation of the Java platform is required to support this standard Mac algorithm.

      Parameters:
        `key` - They key for the keyed digest (must not be null)
      Returns:
        A Mac instance initialized with the given key.
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.
      See Also:
        `Mac.getInstance(String)`, `Mac.init(Key)`

    - #### getHmacSha384

          public static javax.crypto.Mac getHmacSha384(byte[] key)

      Returns an initialized `Mac` for the HmacSHA384 algorithm.

      Every implementation of the Java platform is not required to support this Mac algorithm.

      Parameters:
        `key` - They key for the keyed digest (must not be null)
      Returns:
        A Mac instance initialized with the given key.
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.
      See Also:
        `Mac.getInstance(String)`, `Mac.init(Key)`

    - #### getHmacSha512

          public static javax.crypto.Mac getHmacSha512(byte[] key)

      Returns an initialized `Mac` for the HmacSHA512 algorithm.

      Every implementation of the Java platform is not required to support this Mac algorithm.

      Parameters:
        `key` - They key for the keyed digest (must not be null)
      Returns:
        A Mac instance initialized with the given key.
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.
      See Also:
        `Mac.getInstance(String)`, `Mac.init(Key)`

    - #### getInitializedMac

          public static javax.crypto.Mac getInitializedMac(HmacAlgorithms algorithm,
                                                           byte[] key)

      Returns an initialized `Mac` for the given `algorithm`.
      Parameters:
        `algorithm` - the name of the algorithm requested. See Appendix A in the Java Cryptography Architecture Reference Guide for information about standard algorithm names.
        `key` - They key for the keyed digest (must not be null)
      Returns:
        A Mac instance initialized with the given key.
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.
      See Also:
        `Mac.getInstance(String)`, `Mac.init(Key)`

    - #### getInitializedMac

          public static javax.crypto.Mac getInitializedMac(java.lang.String algorithm,
                                                           byte[] key)

      Returns an initialized `Mac` for the given `algorithm`.
      Parameters:
        `algorithm` - the name of the algorithm requested. See Appendix A in the Java Cryptography Architecture Reference Guide for information about standard algorithm names.
        `key` - They key for the keyed digest (must not be null)
      Returns:
        A Mac instance initialized with the given key.
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.
      See Also:
        `Mac.getInstance(String)`, `Mac.init(Key)`

    - #### hmacMd5

          public static byte[] hmacMd5(byte[] key,
                                       byte[] valueToDigest)

      Returns a HmacMD5 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacMD5 MAC for the given key and value
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacMd5

          public static byte[] hmacMd5(byte[] key,
                                       java.io.InputStream valueToDigest)
                                throws java.io.IOException

      Returns a HmacMD5 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest

        The InputStream must not be null and will not be closed

      Returns:
        HmacMD5 MAC for the given key and value
      Throws:
        `java.io.IOException` - If an I/O error occurs.
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacMd5

          public static byte[] hmacMd5(java.lang.String key,
                                       java.lang.String valueToDigest)

      Returns a HmacMD5 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacMD5 MAC for the given key and value
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacMd5Hex

          public static java.lang.String hmacMd5Hex(byte[] key,
                                                    byte[] valueToDigest)

      Returns a HmacMD5 Message Authentication Code (MAC) as a hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacMD5 MAC for the given key and value as a hex string (lowercase)
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacMd5Hex

          public static java.lang.String hmacMd5Hex(byte[] key,
                                                    java.io.InputStream valueToDigest)
                                             throws java.io.IOException

      Returns a HmacMD5 Message Authentication Code (MAC) as a hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest

        The InputStream must not be null and will not be closed

      Returns:
        HmacMD5 MAC for the given key and value as a hex string (lowercase)
      Throws:
        `java.io.IOException` - If an I/O error occurs.
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacMd5Hex

          public static java.lang.String hmacMd5Hex(java.lang.String key,
                                                    java.lang.String valueToDigest)

      Returns a HmacMD5 Message Authentication Code (MAC) as a hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacMD5 MAC for the given key and value as a hex string (lowercase)
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha1

          public static byte[] hmacSha1(byte[] key,
                                        byte[] valueToDigest)

      Returns a HmacSHA1 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA1 MAC for the given key and value
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha1

          public static byte[] hmacSha1(byte[] key,
                                        java.io.InputStream valueToDigest)
                                 throws java.io.IOException

      Returns a HmacSHA1 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest

        The InputStream must not be null and will not be closed

      Returns:
        HmacSHA1 MAC for the given key and value
      Throws:
        `java.io.IOException` - If an I/O error occurs.
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha1

          public static byte[] hmacSha1(java.lang.String key,
                                        java.lang.String valueToDigest)

      Returns a HmacSHA1 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA1 MAC for the given key and value
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha1Hex

          public static java.lang.String hmacSha1Hex(byte[] key,
                                                     byte[] valueToDigest)

      Returns a HmacSHA1 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA1 MAC for the given key and value as hex string (lowercase)
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha1Hex

          public static java.lang.String hmacSha1Hex(byte[] key,
                                                     java.io.InputStream valueToDigest)
                                              throws java.io.IOException

      Returns a HmacSHA1 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest

        The InputStream must not be null and will not be closed

      Returns:
        HmacSHA1 MAC for the given key and value as hex string (lowercase)
      Throws:
        `java.io.IOException` - If an I/O error occurs.
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha1Hex

          public static java.lang.String hmacSha1Hex(java.lang.String key,
                                                     java.lang.String valueToDigest)

      Returns a HmacSHA1 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA1 MAC for the given key and value as hex string (lowercase)
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha256

          public static byte[] hmacSha256(byte[] key,
                                          byte[] valueToDigest)

      Returns a HmacSHA256 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA256 MAC for the given key and value
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha256

          public static byte[] hmacSha256(byte[] key,
                                          java.io.InputStream valueToDigest)
                                   throws java.io.IOException

      Returns a HmacSHA256 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest

        The InputStream must not be null and will not be closed

      Returns:
        HmacSHA256 MAC for the given key and value
      Throws:
        `java.io.IOException` - If an I/O error occurs. s * @throws IllegalArgumentException when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha256

          public static byte[] hmacSha256(java.lang.String key,
                                          java.lang.String valueToDigest)

      Returns a HmacSHA256 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA256 MAC for the given key and value
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha256Hex

          public static java.lang.String hmacSha256Hex(byte[] key,
                                                       byte[] valueToDigest)

      Returns a HmacSHA256 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA256 MAC for the given key and value as hex string (lowercase)
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha256Hex

          public static java.lang.String hmacSha256Hex(byte[] key,
                                                       java.io.InputStream valueToDigest)
                                                throws java.io.IOException

      Returns a HmacSHA256 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest

        The InputStream must not be null and will not be closed

      Returns:
        HmacSHA256 MAC for the given key and value as hex string (lowercase)
      Throws:
        `java.io.IOException` - If an I/O error occurs.
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha256Hex

          public static java.lang.String hmacSha256Hex(java.lang.String key,
                                                       java.lang.String valueToDigest)

      Returns a HmacSHA256 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA256 MAC for the given key and value as hex string (lowercase)
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha384

          public static byte[] hmacSha384(byte[] key,
                                          byte[] valueToDigest)

      Returns a HmacSHA384 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA384 MAC for the given key and value
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha384

          public static byte[] hmacSha384(byte[] key,
                                          java.io.InputStream valueToDigest)
                                   throws java.io.IOException

      Returns a HmacSHA384 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest

        The InputStream must not be null and will not be closed

      Returns:
        HmacSHA384 MAC for the given key and value
      Throws:
        `java.io.IOException` - If an I/O error occurs.
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha384

          public static byte[] hmacSha384(java.lang.String key,
                                          java.lang.String valueToDigest)

      Returns a HmacSHA384 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA384 MAC for the given key and value
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha384Hex

          public static java.lang.String hmacSha384Hex(byte[] key,
                                                       byte[] valueToDigest)

      Returns a HmacSHA384 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA384 MAC for the given key and value as hex string (lowercase)
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha384Hex

          public static java.lang.String hmacSha384Hex(byte[] key,
                                                       java.io.InputStream valueToDigest)
                                                throws java.io.IOException

      Returns a HmacSHA384 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest

        The InputStream must not be null and will not be closed

      Returns:
        HmacSHA384 MAC for the given key and value as hex string (lowercase)
      Throws:
        `java.io.IOException` - If an I/O error occurs.
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha384Hex

          public static java.lang.String hmacSha384Hex(java.lang.String key,
                                                       java.lang.String valueToDigest)

      Returns a HmacSHA384 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA384 MAC for the given key and value as hex string (lowercase)
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha512

          public static byte[] hmacSha512(byte[] key,
                                          byte[] valueToDigest)

      Returns a HmacSHA512 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA512 MAC for the given key and value
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha512

          public static byte[] hmacSha512(byte[] key,
                                          java.io.InputStream valueToDigest)
                                   throws java.io.IOException

      Returns a HmacSHA512 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest

        The InputStream must not be null and will not be closed

      Returns:
        HmacSHA512 MAC for the given key and value
      Throws:
        `java.io.IOException` - If an I/O error occurs.
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha512

          public static byte[] hmacSha512(java.lang.String key,
                                          java.lang.String valueToDigest)

      Returns a HmacSHA512 Message Authentication Code (MAC) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA512 MAC for the given key and value
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha512Hex

          public static java.lang.String hmacSha512Hex(byte[] key,
                                                       byte[] valueToDigest)

      Returns a HmacSHA512 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA512 MAC for the given key and value as hex string (lowercase)
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha512Hex

          public static java.lang.String hmacSha512Hex(byte[] key,
                                                       java.io.InputStream valueToDigest)
                                                throws java.io.IOException

      Returns a HmacSHA512 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest

        The InputStream must not be null and will not be closed

      Returns:
        HmacSHA512 MAC for the given key and value as hex string (lowercase)
      Throws:
        `java.io.IOException` - If an I/O error occurs.
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### hmacSha512Hex

          public static java.lang.String hmacSha512Hex(java.lang.String key,
                                                       java.lang.String valueToDigest)

      Returns a HmacSHA512 Message Authentication Code (MAC) as hex string (lowercase) for the given key and value.
      Parameters:
        `key` - They key for the keyed digest (must not be null)
        `valueToDigest` - The value (data) which should to digest (maybe empty or null)
      Returns:
        HmacSHA512 MAC for the given key and value as hex string (lowercase)
      Throws:
        `java.lang.IllegalArgumentException` - when a `NoSuchAlgorithmException` is caught or key is null or key is invalid.

    - #### updateHmac

          public static javax.crypto.Mac updateHmac(javax.crypto.Mac mac,
                                                    byte[] valueToDigest)

      Updates the given `Mac`. This generates a digest for valueToDigest and the key the Mac was initialized
      Parameters:
        `mac` - the initialized `Mac` to update
        `valueToDigest` - the value to update the `Mac` with (maybe null or empty)
      Returns:
        the updated `Mac`
      Throws:
        `java.lang.IllegalStateException` - if the Mac was not initialized
      Since:
        1.x

    - #### updateHmac

          public static javax.crypto.Mac updateHmac(javax.crypto.Mac mac,
                                                    java.io.InputStream valueToDigest)
                                             throws java.io.IOException

      Updates the given `Mac`. This generates a digest for valueToDigest and the key the Mac was initialized
      Parameters:
        `mac` - the initialized `Mac` to update
        `valueToDigest` - the value to update the `Mac` with

        The InputStream must not be null and will not be closed

      Returns:
        the updated `Mac`
      Throws:
        `java.io.IOException` - If an I/O error occurs.
        `java.lang.IllegalStateException` - If the Mac was not initialized
      Since:
        1.x

    - #### updateHmac

          public static javax.crypto.Mac updateHmac(javax.crypto.Mac mac,
                                                    java.lang.String valueToDigest)

      Updates the given `Mac`. This generates a digest for valueToDigest and the key the Mac was initialized
      Parameters:
        `mac` - the initialized `Mac` to update
        `valueToDigest` - the value to update the `Mac` with (maybe null or empty)
      Returns:
        the updated `Mac`
      Throws:
        `java.lang.IllegalStateException` - if the Mac was not initialized
      Since:
        1.x

commons-codec version 1.10 - Copyright © 2002-2019 - Apache Software Foundation