org.apache.commons.codec.digest
Class DigestUtils

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

public class DigestUtils
extends Object

Operations to simplify common MessageDigest tasks. This class is immutable and thread-safe.

Version:
$Id: DigestUtils.html 889935 2013-12-11 05:05:13Z ggregory $

Constructor Summary
DigestUtils()
           
 
Method Summary
static MessageDigest getDigest(String algorithm)
          Returns a MessageDigest for the given algorithm.
static MessageDigest getMd2Digest()
          Returns an MD2 MessageDigest.
static MessageDigest getMd5Digest()
          Returns an MD5 MessageDigest.
static MessageDigest getSha1Digest()
          Returns an SHA-1 digest.
static MessageDigest getSha256Digest()
          Returns an SHA-256 digest.
static MessageDigest getSha384Digest()
          Returns an SHA-384 digest.
static MessageDigest getSha512Digest()
          Returns an SHA-512 digest.
static MessageDigest getShaDigest()
          Deprecated. Use getSha1Digest()
static byte[] md2(byte[] data)
          Calculates the MD2 digest and returns the value as a 16 element byte[].
static byte[] md2(InputStream data)
          Calculates the MD2 digest and returns the value as a 16 element byte[].
static byte[] md2(String data)
          Calculates the MD2 digest and returns the value as a 16 element byte[].
static String md2Hex(byte[] data)
          Calculates the MD2 digest and returns the value as a 32 character hex string.
static String md2Hex(InputStream data)
          Calculates the MD2 digest and returns the value as a 32 character hex string.
static String md2Hex(String data)
          Calculates the MD2 digest and returns the value as a 32 character hex string.
static byte[] md5(byte[] data)
          Calculates the MD5 digest and returns the value as a 16 element byte[].
static byte[] md5(InputStream data)
          Calculates the MD5 digest and returns the value as a 16 element byte[].
static byte[] md5(String data)
          Calculates the MD5 digest and returns the value as a 16 element byte[].
static String md5Hex(byte[] data)
          Calculates the MD5 digest and returns the value as a 32 character hex string.
static String md5Hex(InputStream data)
          Calculates the MD5 digest and returns the value as a 32 character hex string.
static String md5Hex(String data)
          Calculates the MD5 digest and returns the value as a 32 character hex string.
static byte[] sha(byte[] data)
          Deprecated. Use sha1(byte[])
static byte[] sha(InputStream data)
          Deprecated. Use sha1(InputStream)
static byte[] sha(String data)
          Deprecated. Use sha1(String)
static byte[] sha1(byte[] data)
          Calculates the SHA-1 digest and returns the value as a byte[].
static byte[] sha1(InputStream data)
          Calculates the SHA-1 digest and returns the value as a byte[].
static byte[] sha1(String data)
          Calculates the SHA-1 digest and returns the value as a byte[].
static String sha1Hex(byte[] data)
          Calculates the SHA-1 digest and returns the value as a hex string.
static String sha1Hex(InputStream data)
          Calculates the SHA-1 digest and returns the value as a hex string.
static String sha1Hex(String data)
          Calculates the SHA-1 digest and returns the value as a hex string.
static byte[] sha256(byte[] data)
          Calculates the SHA-256 digest and returns the value as a byte[].
static byte[] sha256(InputStream data)
          Calculates the SHA-256 digest and returns the value as a byte[].
static byte[] sha256(String data)
          Calculates the SHA-256 digest and returns the value as a byte[].
static String sha256Hex(byte[] data)
          Calculates the SHA-256 digest and returns the value as a hex string.
static String sha256Hex(InputStream data)
          Calculates the SHA-256 digest and returns the value as a hex string.
static String sha256Hex(String data)
          Calculates the SHA-256 digest and returns the value as a hex string.
static byte[] sha384(byte[] data)
          Calculates the SHA-384 digest and returns the value as a byte[].
static byte[] sha384(InputStream data)
          Calculates the SHA-384 digest and returns the value as a byte[].
static byte[] sha384(String data)
          Calculates the SHA-384 digest and returns the value as a byte[].
static String sha384Hex(byte[] data)
          Calculates the SHA-384 digest and returns the value as a hex string.
static String sha384Hex(InputStream data)
          Calculates the SHA-384 digest and returns the value as a hex string.
static String sha384Hex(String data)
          Calculates the SHA-384 digest and returns the value as a hex string.
static byte[] sha512(byte[] data)
          Calculates the SHA-512 digest and returns the value as a byte[].
static byte[] sha512(InputStream data)
          Calculates the SHA-512 digest and returns the value as a byte[].
static byte[] sha512(String data)
          Calculates the SHA-512 digest and returns the value as a byte[].
static String sha512Hex(byte[] data)
          Calculates the SHA-512 digest and returns the value as a hex string.
static String sha512Hex(InputStream data)
          Calculates the SHA-512 digest and returns the value as a hex string.
static String sha512Hex(String data)
          Calculates the SHA-512 digest and returns the value as a hex string.
static String shaHex(byte[] data)
          Deprecated. Use sha1Hex(byte[])
static String shaHex(InputStream data)
          Deprecated. Use sha1Hex(InputStream)
static String shaHex(String data)
          Deprecated. Use sha1Hex(String)
static MessageDigest updateDigest(MessageDigest messageDigest, byte[] valueToDigest)
          Updates the given MessageDigest.
static MessageDigest updateDigest(MessageDigest digest, InputStream data)
          Reads through an InputStream and updates the digest for the data
static MessageDigest updateDigest(MessageDigest messageDigest, String valueToDigest)
          Updates the given MessageDigest.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DigestUtils

public DigestUtils()
Method Detail

getDigest

public static MessageDigest getDigest(String algorithm)
Returns a MessageDigest for the given algorithm.

Parameters:
algorithm - the name of the algorithm requested. See Appendix A in the Java Cryptography Architecture API Specification & Reference for information about standard algorithm names.
Returns:
An MD5 digest instance.
Throws:
IllegalArgumentException - when a NoSuchAlgorithmException is caught.
See Also:
MessageDigest.getInstance(String)

getMd2Digest

public static MessageDigest getMd2Digest()
Returns 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:
MessageDigestAlgorithms.MD2

getMd5Digest

public static MessageDigest getMd5Digest()
Returns 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:
MessageDigestAlgorithms.MD5

getSha1Digest

public static MessageDigest getSha1Digest()
Returns 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:
MessageDigestAlgorithms.SHA_1

getSha256Digest

public static MessageDigest getSha256Digest()
Returns an SHA-256 digest.

Throws a RuntimeException on JRE versions prior to 1.4.0.

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:
MessageDigestAlgorithms.SHA_256

getSha384Digest

public static MessageDigest getSha384Digest()
Returns an SHA-384 digest.

Throws a RuntimeException on JRE versions prior to 1.4.0.

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:
MessageDigestAlgorithms.SHA_384

getSha512Digest

public static MessageDigest getSha512Digest()
Returns an SHA-512 digest.

Throws a RuntimeException on JRE versions prior to 1.4.0.

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:
MessageDigestAlgorithms.SHA_512

getShaDigest

@Deprecated
public static MessageDigest getShaDigest()
Deprecated. Use getSha1Digest()

Returns an SHA-1 digest.

Returns:
An SHA-1 digest instance.
Throws:
IllegalArgumentException - when a NoSuchAlgorithmException is caught

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
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 hex string.

Parameters:
data - Data to digest
Returns:
MD2 digest as a hex 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 hex string.

Parameters:
data - Data to digest
Returns:
MD2 digest as a hex 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 hex string.

Parameters:
data - Data to digest
Returns:
MD2 digest as a hex 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
Returns:
MD5 digest

md5Hex

public static String md5Hex(byte[] data)
Calculates the MD5 digest and returns the value as a 32 character hex string.

Parameters:
data - Data to digest
Returns:
MD5 digest as a hex string

md5Hex

public static String md5Hex(InputStream data)
                     throws IOException
Calculates the MD5 digest and returns the value as a 32 character hex string.

Parameters:
data - Data to digest
Returns:
MD5 digest as a hex 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 hex string.

Parameters:
data - Data to digest
Returns:
MD5 digest as a hex string

sha

@Deprecated
public static byte[] sha(byte[] data)
Deprecated. 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. Use sha1(InputStream)

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. 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
Returns:
SHA-1 digest

sha1Hex

public static String sha1Hex(byte[] data)
Calculates the SHA-1 digest and returns the value as a hex string.

Parameters:
data - Data to digest
Returns:
SHA-1 digest as a hex string
Since:
1.7

sha1Hex

public static String sha1Hex(InputStream data)
                      throws IOException
Calculates the SHA-1 digest and returns the value as a hex string.

Parameters:
data - Data to digest
Returns:
SHA-1 digest as a hex 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 hex string.

Parameters:
data - Data to digest
Returns:
SHA-1 digest as a hex string
Since:
1.7

sha256

public static byte[] sha256(byte[] data)
Calculates the SHA-256 digest and returns the value as a byte[].

Throws a RuntimeException on JRE versions prior to 1.4.0.

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[].

Throws a RuntimeException on JRE versions prior to 1.4.0.

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[].

Throws a RuntimeException on JRE versions prior to 1.4.0.

Parameters:
data - Data to digest
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 hex string.

Throws a RuntimeException on JRE versions prior to 1.4.0.

Parameters:
data - Data to digest
Returns:
SHA-256 digest as a hex string
Since:
1.4

sha256Hex

public static String sha256Hex(InputStream data)
                        throws IOException
Calculates the SHA-256 digest and returns the value as a hex string.

Throws a RuntimeException on JRE versions prior to 1.4.0.

Parameters:
data - Data to digest
Returns:
SHA-256 digest as a hex 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 hex string.

Throws a RuntimeException on JRE versions prior to 1.4.0.

Parameters:
data - Data to digest
Returns:
SHA-256 digest as a hex string
Since:
1.4

sha384

public static byte[] sha384(byte[] data)
Calculates the SHA-384 digest and returns the value as a byte[].

Throws a RuntimeException on JRE versions prior to 1.4.0.

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[].

Throws a RuntimeException on JRE versions prior to 1.4.0.

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[].

Throws a RuntimeException on JRE versions prior to 1.4.0.

Parameters:
data - Data to digest
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 hex string.

Throws a RuntimeException on JRE versions prior to 1.4.0.

Parameters:
data - Data to digest
Returns:
SHA-384 digest as a hex string
Since:
1.4

sha384Hex

public static String sha384Hex(InputStream data)
                        throws IOException
Calculates the SHA-384 digest and returns the value as a hex string.

Throws a RuntimeException on JRE versions prior to 1.4.0.

Parameters:
data - Data to digest
Returns:
SHA-384 digest as a hex 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 hex string.

Throws a RuntimeException on JRE versions prior to 1.4.0.

Parameters:
data - Data to digest
Returns:
SHA-384 digest as a hex string
Since:
1.4

sha512

public static byte[] sha512(byte[] data)
Calculates the SHA-512 digest and returns the value as a byte[].

Throws a RuntimeException on JRE versions prior to 1.4.0.

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[].

Throws a RuntimeException on JRE versions prior to 1.4.0.

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[].

Throws a RuntimeException on JRE versions prior to 1.4.0.

Parameters:
data - Data to digest
Returns:
SHA-512 digest
Since:
1.4

sha512Hex

public static String sha512Hex(byte[] data)
Calculates the SHA-512 digest and returns the value as a hex string.

Throws a RuntimeException on JRE versions prior to 1.4.0.

Parameters:
data - Data to digest
Returns:
SHA-512 digest as a hex string
Since:
1.4

sha512Hex

public static String sha512Hex(InputStream data)
                        throws IOException
Calculates the SHA-512 digest and returns the value as a hex string.

Throws a RuntimeException on JRE versions prior to 1.4.0.

Parameters:
data - Data to digest
Returns:
SHA-512 digest as a hex 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 hex string.

Throws a RuntimeException on JRE versions prior to 1.4.0.

Parameters:
data - Data to digest
Returns:
SHA-512 digest as a hex string
Since:
1.4

shaHex

@Deprecated
public static String shaHex(byte[] data)
Deprecated. Use sha1Hex(byte[])

Calculates the SHA-1 digest and returns the value as a hex string.

Parameters:
data - Data to digest
Returns:
SHA-1 digest as a hex string

shaHex

@Deprecated
public static String shaHex(InputStream data)
                     throws IOException
Deprecated. Use sha1Hex(InputStream)

Calculates the SHA-1 digest and returns the value as a hex string.

Parameters:
data - Data to digest
Returns:
SHA-1 digest as a hex string
Throws:
IOException - On error reading from the stream
Since:
1.4

shaHex

@Deprecated
public static String shaHex(String data)
Deprecated. Use sha1Hex(String)

Calculates the SHA-1 digest and returns the value as a hex string.

Parameters:
data - Data to digest
Returns:
SHA-1 digest as a hex 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 digest,
                                         InputStream data)
                                  throws IOException
Reads through an InputStream and updates the digest for the data

Parameters:
digest - The MessageDigest to use (e.g. MD5)
data - Data to digest
Returns:
MD5 digest
Throws:
IOException - On error reading from the stream
Since:
1.8

updateDigest

public static MessageDigest updateDigest(MessageDigest messageDigest,
                                         String 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


Copyright © 2002-2013 The Apache Software Foundation. All Rights Reserved.