Class DigestUtils

java.lang.Object
org.apache.commons.codec.digest.DigestUtils

public class DigestUtils extends Object
Operations to simplify common MessageDigest tasks. This class is immutable and thread-safe. However the MessageDigest instances it creates generally won't be.

The MessageDigestAlgorithms class provides constants for standard digest algorithms that can be used with the getDigest(String) method and other methods that require the Digest algorithm name.

Note: the class has shorthand methods for all the algorithms present as standard in Java 6. This approach requires lots of methods for each algorithm, and quickly becomes unwieldy. The following code works with all algorithms:

 import static org.apache.commons.codec.digest.MessageDigestAlgorithms.SHA_224;
 ...
 byte [] digest = new DigestUtils(SHA_224).digest(dataToDigest);
 String hdigest = new DigestUtils(SHA_224).digestAsHex(new File("pom.xml"));
 
See Also:
  • Constructor Details

  • Method Details

    • digest

      public static byte[] digest(MessageDigest messageDigest, byte[] data)
      Reads through a byte array and returns the digest for the data. Provided for symmetry with other methods.
      Parameters:
      messageDigest - The MessageDigest to use (e.g. MD5)
      data - Data to digest
      Returns:
      the digest
      Since:
      1.11
    • digest

      public static byte[] digest(MessageDigest messageDigest, ByteBuffer data)
      Reads through a ByteBuffer and returns the digest for the data
      Parameters:
      messageDigest - The MessageDigest to use (e.g. MD5)
      data - Data to digest
      Returns:
      the digest
      Since:
      1.11
    • digest

      public static byte[] digest(MessageDigest messageDigest, File data) throws IOException
      Reads through a File and returns the digest for the data
      Parameters:
      messageDigest - The MessageDigest to use (e.g. MD5)
      data - Data to digest
      Returns:
      the digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.11
    • digest

      public static byte[] digest(MessageDigest messageDigest, InputStream data) throws IOException
      Reads through an InputStream and returns the digest for the data
      Parameters:
      messageDigest - The MessageDigest to use (e.g. MD5)
      data - Data to digest
      Returns:
      the digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.11 (was private)
    • digest

      public static byte[] digest(MessageDigest messageDigest, Path data, OpenOption... options) throws IOException
      Reads through a File and returns the digest for the data
      Parameters:
      messageDigest - The MessageDigest to use (e.g. MD5)
      data - Data to digest
      options - options How to open the file
      Returns:
      the digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.14
    • digest

      public static byte[] digest(MessageDigest messageDigest, RandomAccessFile data) throws IOException
      Reads through a RandomAccessFile using non-blocking-io (NIO) and returns the digest for the data
      Parameters:
      messageDigest - The MessageDigest to use (e.g. MD5)
      data - Data to digest
      Returns:
      the digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.14
    • getDigest

      public static MessageDigest getDigest(String algorithm)
      Gets a MessageDigest 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.
      Returns:
      A digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught.
      See Also:
    • getDigest

      public static MessageDigest getDigest(String algorithm, MessageDigest defaultMessageDigest)
      Gets a MessageDigest for the given algorithm or a default if there is a problem getting the 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.
      defaultMessageDigest - The default MessageDigest.
      Returns:
      A digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught.
      Since:
      1.11
      See Also:
    • getMd2Digest

      public static MessageDigest getMd2Digest()
      Gets an MD2 MessageDigest.
      Returns:
      An MD2 digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught, which should never happen because MD2 is a built-in algorithm
      Since:
      1.7
      See Also:
    • getMd5Digest

      public static MessageDigest getMd5Digest()
      Gets an MD5 MessageDigest.
      Returns:
      An MD5 digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught, which should never happen because MD5 is a built-in algorithm
      See Also:
    • getSha1Digest

      public static MessageDigest getSha1Digest()
      Gets an SHA-1 digest.
      Returns:
      An SHA-1 digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught, which should never happen because SHA-1 is a built-in algorithm
      Since:
      1.7
      See Also:
    • getSha256Digest

      public static MessageDigest getSha256Digest()
      Gets an SHA-256 digest.
      Returns:
      An SHA-256 digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught, which should never happen because SHA-256 is a built-in algorithm
      See Also:
    • getSha3_224Digest

      Gets an SHA3-224 digest.
      Returns:
      An SHA3-224 digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught, which should not happen on Oracle Java 9 and greater.
      Since:
      1.12
      See Also:
    • getSha3_256Digest

      Returns an SHA3-256 digest.
      Returns:
      An SHA3-256 digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught, which should not happen on Oracle Java 9 and greater.
      Since:
      1.12
      See Also:
    • getSha3_384Digest

      Gets an SHA3-384 digest.
      Returns:
      An SHA3-384 digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught, which should not happen on Oracle Java 9 and greater.
      Since:
      1.12
      See Also:
    • getSha3_512Digest

      Gets an SHA3-512 digest.
      Returns:
      An SHA3-512 digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught, which should not happen on Oracle Java 9 and greater.
      Since:
      1.12
      See Also:
    • getSha384Digest

      public static MessageDigest getSha384Digest()
      Gets an SHA-384 digest.
      Returns:
      An SHA-384 digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught, which should never happen because SHA-384 is a built-in algorithm
      See Also:
    • getSha512_224Digest

      Gets an SHA-512/224 digest.
      Returns:
      An SHA-512/224 digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught.
      See Also:
    • getSha512_256Digest

      Gets an SHA-512/256 digest.
      Returns:
      An SHA-512/256 digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught.
      See Also:
    • getSha512Digest

      public static MessageDigest getSha512Digest()
      Gets an SHA-512 digest.
      Returns:
      An SHA-512 digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught, which should never happen because SHA-512 is a built-in algorithm
      See Also:
    • getShaDigest

      Deprecated.
      (1.11) Use getSha1Digest()
      Gets an SHA-1 digest.
      Returns:
      An SHA-1 digest instance.
      Throws:
      IllegalArgumentException - when a NoSuchAlgorithmException is caught
    • isAvailable

      public static boolean isAvailable(String messageDigestAlgorithm)
      Test whether the algorithm is supported.
      Parameters:
      messageDigestAlgorithm - the algorithm name
      Returns:
      true if the algorithm can be found
      Since:
      1.11
    • md2

      public static byte[] md2(byte[] data)
      Calculates the MD2 digest and returns the value as a 16 element byte[].
      Parameters:
      data - Data to digest
      Returns:
      MD2 digest
      Since:
      1.7
    • md2

      public static byte[] md2(InputStream data) throws IOException
      Calculates the MD2 digest and returns the value as a 16 element byte[].
      Parameters:
      data - Data to digest
      Returns:
      MD2 digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.7
    • md2

      public static byte[] md2(String data)
      Calculates the MD2 digest and returns the value as a 16 element byte[].
      Parameters:
      data - Data to digest; converted to bytes using StringUtils.getBytesUtf8(String)
      Returns:
      MD2 digest
      Since:
      1.7
    • md2Hex

      public static String md2Hex(byte[] data)
      Calculates the MD2 digest and returns the value as a 32 character hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      MD2 digest as a hexadecimal string
      Since:
      1.7
    • md2Hex

      public static String md2Hex(InputStream data) throws IOException
      Calculates the MD2 digest and returns the value as a 32 character hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      MD2 digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.7
    • md2Hex

      public static String md2Hex(String data)
      Calculates the MD2 digest and returns the value as a 32 character hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      MD2 digest as a hexadecimal string
      Since:
      1.7
    • md5

      public static byte[] md5(byte[] data)
      Calculates the MD5 digest and returns the value as a 16 element byte[].
      Parameters:
      data - Data to digest
      Returns:
      MD5 digest
    • md5

      public static byte[] md5(InputStream data) throws IOException
      Calculates the MD5 digest and returns the value as a 16 element byte[].
      Parameters:
      data - Data to digest
      Returns:
      MD5 digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.4
    • md5

      public static byte[] md5(String data)
      Calculates the MD5 digest and returns the value as a 16 element byte[].
      Parameters:
      data - Data to digest; converted to bytes using StringUtils.getBytesUtf8(String)
      Returns:
      MD5 digest
    • md5Hex

      public static String md5Hex(byte[] data)
      Calculates the MD5 digest and returns the value as a 32 character hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      MD5 digest as a hexadecimal string
    • md5Hex

      public static String md5Hex(InputStream data) throws IOException
      Calculates the MD5 digest and returns the value as a 32 character hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      MD5 digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.4
    • md5Hex

      public static String md5Hex(String data)
      Calculates the MD5 digest and returns the value as a 32 character hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      MD5 digest as a hexadecimal string
    • sha

      @Deprecated public static byte[] sha(byte[] data)
      Deprecated.
      (1.11) Use sha1(byte[])
      Calculates the SHA-1 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-1 digest
    • sha

      @Deprecated public static byte[] sha(InputStream data) throws IOException
      Deprecated.
      Calculates the SHA-1 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-1 digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.4
    • sha

      @Deprecated public static byte[] sha(String data)
      Deprecated.
      (1.11) Use sha1(String)
      Calculates the SHA-1 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-1 digest
    • sha1

      public static byte[] sha1(byte[] data)
      Calculates the SHA-1 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-1 digest
      Since:
      1.7
    • sha1

      public static byte[] sha1(InputStream data) throws IOException
      Calculates the SHA-1 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-1 digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.7
    • sha1

      public static byte[] sha1(String data)
      Calculates the SHA-1 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest; converted to bytes using StringUtils.getBytesUtf8(String)
      Returns:
      SHA-1 digest
    • sha1Hex

      public static String sha1Hex(byte[] data)
      Calculates the SHA-1 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-1 digest as a hexadecimal string
      Since:
      1.7
    • sha1Hex

      public static String sha1Hex(InputStream data) throws IOException
      Calculates the SHA-1 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-1 digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.7
    • sha1Hex

      public static String sha1Hex(String data)
      Calculates the SHA-1 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-1 digest as a hexadecimal string
      Since:
      1.7
    • sha256

      public static byte[] sha256(byte[] data)
      Calculates the SHA-256 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-256 digest
      Since:
      1.4
    • sha256

      public static byte[] sha256(InputStream data) throws IOException
      Calculates the SHA-256 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-256 digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.4
    • sha256

      public static byte[] sha256(String data)
      Calculates the SHA-256 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest; converted to bytes using StringUtils.getBytesUtf8(String)
      Returns:
      SHA-256 digest
      Since:
      1.4
    • sha256Hex

      public static String sha256Hex(byte[] data)
      Calculates the SHA-256 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-256 digest as a hexadecimal string
      Since:
      1.4
    • sha256Hex

      public static String sha256Hex(InputStream data) throws IOException
      Calculates the SHA-256 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-256 digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.4
    • sha256Hex

      public static String sha256Hex(String data)
      Calculates the SHA-256 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-256 digest as a hexadecimal string
      Since:
      1.4
    • sha3_224

      public static byte[] sha3_224(byte[] data)
      Calculates the SHA3-224 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA3-224 digest
      Since:
      1.12
    • sha3_224

      public static byte[] sha3_224(InputStream data) throws IOException
      Calculates the SHA3-224 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA3-224 digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.12
    • sha3_224

      public static byte[] sha3_224(String data)
      Calculates the SHA3-224 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest; converted to bytes using StringUtils.getBytesUtf8(String)
      Returns:
      SHA3-224 digest
      Since:
      1.12
    • sha3_224Hex

      public static String sha3_224Hex(byte[] data)
      Calculates the SHA3-224 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA3-224 digest as a hexadecimal string
      Since:
      1.12
    • sha3_224Hex

      public static String sha3_224Hex(InputStream data) throws IOException
      Calculates the SHA3-224 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA3-224 digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.12
    • sha3_224Hex

      public static String sha3_224Hex(String data)
      Calculates the SHA3-224 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA3-224 digest as a hexadecimal string
      Since:
      1.12
    • sha3_256

      public static byte[] sha3_256(byte[] data)
      Calculates the SHA3-256 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA3-256 digest
      Since:
      1.12
    • sha3_256

      public static byte[] sha3_256(InputStream data) throws IOException
      Calculates the SHA3-256 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA3-256 digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.12
    • sha3_256

      public static byte[] sha3_256(String data)
      Calculates the SHA3-256 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest; converted to bytes using StringUtils.getBytesUtf8(String)
      Returns:
      SHA3-256 digest
      Since:
      1.12
    • sha3_256Hex

      public static String sha3_256Hex(byte[] data)
      Calculates the SHA3-256 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA3-256 digest as a hexadecimal string
      Since:
      1.12
    • sha3_256Hex

      public static String sha3_256Hex(InputStream data) throws IOException
      Calculates the SHA3-256 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA3-256 digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.12
    • sha3_256Hex

      public static String sha3_256Hex(String data)
      Calculates the SHA3-256 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA3-256 digest as a hexadecimal string
      Since:
      1.12
    • sha3_384

      public static byte[] sha3_384(byte[] data)
      Calculates the SHA3-384 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA3-384 digest
      Since:
      1.12
    • sha3_384

      public static byte[] sha3_384(InputStream data) throws IOException
      Calculates the SHA3-384 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA3-384 digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.12
    • sha3_384

      public static byte[] sha3_384(String data)
      Calculates the SHA3-384 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest; converted to bytes using StringUtils.getBytesUtf8(String)
      Returns:
      SHA3-384 digest
      Since:
      1.12
    • sha3_384Hex

      public static String sha3_384Hex(byte[] data)
      Calculates the SHA3-384 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA3-384 digest as a hexadecimal string
      Since:
      1.12
    • sha3_384Hex

      public static String sha3_384Hex(InputStream data) throws IOException
      Calculates the SHA3-384 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA3-384 digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.12
    • sha3_384Hex

      public static String sha3_384Hex(String data)
      Calculates the SHA3-384 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA3-384 digest as a hexadecimal string
      Since:
      1.12
    • sha3_512

      public static byte[] sha3_512(byte[] data)
      Calculates the SHA3-512 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA3-512 digest
      Since:
      1.12
    • sha3_512

      public static byte[] sha3_512(InputStream data) throws IOException
      Calculates the SHA3-512 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA3-512 digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.12
    • sha3_512

      public static byte[] sha3_512(String data)
      Calculates the SHA3-512 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest; converted to bytes using StringUtils.getBytesUtf8(String)
      Returns:
      SHA3-512 digest
      Since:
      1.12
    • sha3_512Hex

      public static String sha3_512Hex(byte[] data)
      Calculates the SHA3-512 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA3-512 digest as a hexadecimal string
      Since:
      1.12
    • sha3_512Hex

      public static String sha3_512Hex(InputStream data) throws IOException
      Calculates the SHA3-512 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA3-512 digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.12
    • sha3_512Hex

      public static String sha3_512Hex(String data)
      Calculates the SHA3-512 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA3-512 digest as a hexadecimal string
      Since:
      1.12
    • sha384

      public static byte[] sha384(byte[] data)
      Calculates the SHA-384 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-384 digest
      Since:
      1.4
    • sha384

      public static byte[] sha384(InputStream data) throws IOException
      Calculates the SHA-384 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-384 digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.4
    • sha384

      public static byte[] sha384(String data)
      Calculates the SHA-384 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest; converted to bytes using StringUtils.getBytesUtf8(String)
      Returns:
      SHA-384 digest
      Since:
      1.4
    • sha384Hex

      public static String sha384Hex(byte[] data)
      Calculates the SHA-384 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-384 digest as a hexadecimal string
      Since:
      1.4
    • sha384Hex

      public static String sha384Hex(InputStream data) throws IOException
      Calculates the SHA-384 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-384 digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.4
    • sha384Hex

      public static String sha384Hex(String data)
      Calculates the SHA-384 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-384 digest as a hexadecimal string
      Since:
      1.4
    • sha512

      public static byte[] sha512(byte[] data)
      Calculates the SHA-512 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-512 digest
      Since:
      1.4
    • sha512

      public static byte[] sha512(InputStream data) throws IOException
      Calculates the SHA-512 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-512 digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.4
    • sha512

      public static byte[] sha512(String data)
      Calculates the SHA-512 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest; converted to bytes using StringUtils.getBytesUtf8(String)
      Returns:
      SHA-512 digest
      Since:
      1.4
    • sha512_224

      public static byte[] sha512_224(byte[] data)
      Calculates the SHA-512/224 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-512/224 digest
      Since:
      1.14
    • sha512_224

      public static byte[] sha512_224(InputStream data) throws IOException
      Calculates the SHA-512/224 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-512/224 digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.14
    • sha512_224

      public static byte[] sha512_224(String data)
      Calculates the SHA-512/224 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest; converted to bytes using StringUtils.getBytesUtf8(String)
      Returns:
      SHA-512/224 digest
      Since:
      1.14
    • sha512_224Hex

      public static String sha512_224Hex(byte[] data)
      Calculates the SHA-512/224 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-512/224 digest as a hexadecimal string
      Since:
      1.14
    • sha512_224Hex

      public static String sha512_224Hex(InputStream data) throws IOException
      Calculates the SHA-512/224 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-512/224 digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.14
    • sha512_224Hex

      public static String sha512_224Hex(String data)
      Calculates the SHA-512/224 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-512/224 digest as a hexadecimal string
      Since:
      1.14
    • sha512_256

      public static byte[] sha512_256(byte[] data)
      Calculates the SHA-512/256 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-512/256 digest
      Since:
      1.14
    • sha512_256

      public static byte[] sha512_256(InputStream data) throws IOException
      Calculates the SHA-512/256 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest
      Returns:
      SHA-512/256 digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.14
    • sha512_256

      public static byte[] sha512_256(String data)
      Calculates the SHA-512/256 digest and returns the value as a byte[].
      Parameters:
      data - Data to digest; converted to bytes using StringUtils.getBytesUtf8(String)
      Returns:
      SHA-512/224 digest
      Since:
      1.14
    • sha512_256Hex

      public static String sha512_256Hex(byte[] data)
      Calculates the SHA-512/256 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-512/256 digest as a hexadecimal string
      Since:
      1.14
    • sha512_256Hex

      public static String sha512_256Hex(InputStream data) throws IOException
      Calculates the SHA-512/256 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-512/256 digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.14
    • sha512_256Hex

      public static String sha512_256Hex(String data)
      Calculates the SHA-512/256 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-512/256 digest as a hexadecimal string
      Since:
      1.14
    • sha512Hex

      public static String sha512Hex(byte[] data)
      Calculates the SHA-512 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-512 digest as a hexadecimal string
      Since:
      1.4
    • sha512Hex

      public static String sha512Hex(InputStream data) throws IOException
      Calculates the SHA-512 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-512 digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.4
    • sha512Hex

      public static String sha512Hex(String data)
      Calculates the SHA-512 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-512 digest as a hexadecimal string
      Since:
      1.4
    • shaHex

      @Deprecated public static String shaHex(byte[] data)
      Deprecated.
      (1.11) Use sha1Hex(byte[])
      Calculates the SHA-1 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-1 digest as a hexadecimal string
    • shaHex

      @Deprecated public static String shaHex(InputStream data) throws IOException
      Deprecated.
      Calculates the SHA-1 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-1 digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.4
    • shaHex

      @Deprecated public static String shaHex(String data)
      Deprecated.
      (1.11) Use sha1Hex(String)
      Calculates the SHA-1 digest and returns the value as a hexadecimal string.
      Parameters:
      data - Data to digest
      Returns:
      SHA-1 digest as a hexadecimal string
    • updateDigest

      public static MessageDigest updateDigest(MessageDigest messageDigest, byte[] valueToDigest)
      Updates the given MessageDigest.
      Parameters:
      messageDigest - the MessageDigest to update
      valueToDigest - the value to update the MessageDigest with
      Returns:
      the updated MessageDigest
      Since:
      1.7
    • updateDigest

      public static MessageDigest updateDigest(MessageDigest messageDigest, ByteBuffer valueToDigest)
      Updates the given MessageDigest.
      Parameters:
      messageDigest - the MessageDigest to update
      valueToDigest - the value to update the MessageDigest with
      Returns:
      the updated MessageDigest
      Since:
      1.11
    • updateDigest

      public static MessageDigest updateDigest(MessageDigest digest, File data) throws IOException
      Reads through a File and updates the digest for the data
      Parameters:
      digest - The MessageDigest to use (e.g. MD5)
      data - Data to digest
      Returns:
      the digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.11
    • updateDigest

      public static MessageDigest updateDigest(MessageDigest digest, InputStream inputStream) throws IOException
      Reads through an InputStream and updates the digest for the data
      Parameters:
      digest - The MessageDigest to use (e.g. MD5)
      inputStream - Data to digest
      Returns:
      the digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.8
    • updateDigest

      public static MessageDigest updateDigest(MessageDigest digest, Path path, OpenOption... options) throws IOException
      Reads through a Path and updates the digest for the data
      Parameters:
      digest - The MessageDigest to use (e.g. MD5)
      path - Data to digest
      options - options How to open the file
      Returns:
      the digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.14
    • updateDigest

      Reads through a RandomAccessFile and updates the digest for the data using non-blocking-io (NIO)
      Parameters:
      digest - The MessageDigest to use (e.g. MD5)
      data - Data to digest
      Returns:
      the digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.14
    • updateDigest

      public static MessageDigest updateDigest(MessageDigest messageDigest, String valueToDigest)
      Updates the given MessageDigest from a String (converted to bytes using UTF-8).

      To update the digest using a different charset for the conversion, convert the String to a byte array using String.getBytes(java.nio.charset.Charset) and pass that to the updateDigest(MessageDigest, byte[]) method

      Parameters:
      messageDigest - the MessageDigest to update
      valueToDigest - the value to update the MessageDigest with; converted to bytes using StringUtils.getBytesUtf8(String)
      Returns:
      the updated MessageDigest
      Since:
      1.7
    • digest

      public byte[] digest(byte[] data)
      Reads through a byte array and returns the digest for the data.
      Parameters:
      data - Data to digest
      Returns:
      the digest
      Since:
      1.11
    • digest

      public byte[] digest(ByteBuffer data)
      Reads through a ByteBuffer and returns the digest for the data
      Parameters:
      data - Data to digest
      Returns:
      the digest
      Since:
      1.11
    • digest

      public byte[] digest(File data) throws IOException
      Reads through a File and returns the digest for the data
      Parameters:
      data - Data to digest
      Returns:
      the digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.11
    • digest

      public byte[] digest(InputStream data) throws IOException
      Reads through an InputStream and returns the digest for the data
      Parameters:
      data - Data to digest
      Returns:
      the digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.11
    • digest

      public byte[] digest(Path data, OpenOption... options) throws IOException
      Reads through a File and returns the digest for the data
      Parameters:
      data - Data to digest
      options - options How to open the file
      Returns:
      the digest
      Throws:
      IOException - On error reading from the stream
      Since:
      1.14
    • digest

      public byte[] digest(String data)
      Reads through a byte array and returns the digest for the data.
      Parameters:
      data - Data to digest treated as UTF-8 string
      Returns:
      the digest
      Since:
      1.11
    • digestAsHex

      public String digestAsHex(byte[] data)
      Reads through a byte array and returns the digest for the data.
      Parameters:
      data - Data to digest
      Returns:
      the digest as a hexadecimal string
      Since:
      1.11
    • digestAsHex

      public String digestAsHex(ByteBuffer data)
      Reads through a ByteBuffer and returns the digest for the data
      Parameters:
      data - Data to digest
      Returns:
      the digest as a hexadecimal string
      Since:
      1.11
    • digestAsHex

      public String digestAsHex(File data) throws IOException
      Reads through a File and returns the digest for the data
      Parameters:
      data - Data to digest
      Returns:
      the digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.11
    • digestAsHex

      public String digestAsHex(InputStream data) throws IOException
      Reads through an InputStream and returns the digest for the data
      Parameters:
      data - Data to digest
      Returns:
      the digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.11
    • digestAsHex

      public String digestAsHex(Path data, OpenOption... options) throws IOException
      Reads through a File and returns the digest for the data
      Parameters:
      data - Data to digest
      options - options How to open the file
      Returns:
      the digest as a hexadecimal string
      Throws:
      IOException - On error reading from the stream
      Since:
      1.11
    • digestAsHex

      public String digestAsHex(String data)
      Reads through a byte array and returns the digest for the data.
      Parameters:
      data - Data to digest treated as UTF-8 string
      Returns:
      the digest as a hexadecimal string
      Since:
      1.11
    • getMessageDigest

      Returns the message digest instance.
      Returns:
      the message digest instance
      Since:
      1.11