org.apache.commons.codec.digest
Class DigestUtils

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

public class DigestUtils
extends java.lang.Object

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

Version:
$Id: DigestUtils.java 1465850 2013-04-09 00:46:31Z sebb $

Field Summary
private static int STREAM_BUFFER_LENGTH
           
 
Constructor Summary
DigestUtils()
           
 
Method Summary
private static byte[] digest(java.security.MessageDigest digest, java.io.InputStream data)
          Read through an InputStream and returns the digest for the data
static java.security.MessageDigest getDigest(java.lang.String algorithm)
          Returns a MessageDigest for the given algorithm.
static java.security.MessageDigest getMd2Digest()
          Returns an MD2 MessageDigest.
static java.security.MessageDigest getMd5Digest()
          Returns an MD5 MessageDigest.
static java.security.MessageDigest getSha1Digest()
          Returns an SHA-1 digest.
static java.security.MessageDigest getSha256Digest()
          Returns an SHA-256 digest.
static java.security.MessageDigest getSha384Digest()
          Returns an SHA-384 digest.
static java.security.MessageDigest getSha512Digest()
          Returns an SHA-512 digest.
static java.security.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(java.io.InputStream data)
          Calculates the MD2 digest and returns the value as a 16 element byte[].
static byte[] md2(java.lang.String data)
          Calculates the MD2 digest and returns the value as a 16 element byte[].
static java.lang.String md2Hex(byte[] data)
          Calculates the MD2 digest and returns the value as a 32 character hex string.
static java.lang.String md2Hex(java.io.InputStream data)
          Calculates the MD2 digest and returns the value as a 32 character hex string.
static java.lang.String md2Hex(java.lang.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(java.io.InputStream data)
          Calculates the MD5 digest and returns the value as a 16 element byte[].
static byte[] md5(java.lang.String data)
          Calculates the MD5 digest and returns the value as a 16 element byte[].
static java.lang.String md5Hex(byte[] data)
          Calculates the MD5 digest and returns the value as a 32 character hex string.
static java.lang.String md5Hex(java.io.InputStream data)
          Calculates the MD5 digest and returns the value as a 32 character hex string.
static java.lang.String md5Hex(java.lang.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(java.io.InputStream data)
          Deprecated. Use sha1(InputStream)
static byte[] sha(java.lang.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(java.io.InputStream data)
          Calculates the SHA-1 digest and returns the value as a byte[].
static byte[] sha1(java.lang.String data)
          Calculates the SHA-1 digest and returns the value as a byte[].
static java.lang.String sha1Hex(byte[] data)
          Calculates the SHA-1 digest and returns the value as a hex string.
static java.lang.String sha1Hex(java.io.InputStream data)
          Calculates the SHA-1 digest and returns the value as a hex string.
static java.lang.String sha1Hex(java.lang.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(java.io.InputStream data)
          Calculates the SHA-256 digest and returns the value as a byte[].
static byte[] sha256(java.lang.String data)
          Calculates the SHA-256 digest and returns the value as a byte[].
static java.lang.String sha256Hex(byte[] data)
          Calculates the SHA-256 digest and returns the value as a hex string.
static java.lang.String sha256Hex(java.io.InputStream data)
          Calculates the SHA-256 digest and returns the value as a hex string.
static java.lang.String sha256Hex(java.lang.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(java.io.InputStream data)
          Calculates the SHA-384 digest and returns the value as a byte[].
static byte[] sha384(java.lang.String data)
          Calculates the SHA-384 digest and returns the value as a byte[].
static java.lang.String sha384Hex(byte[] data)
          Calculates the SHA-384 digest and returns the value as a hex string.
static java.lang.String sha384Hex(java.io.InputStream data)
          Calculates the SHA-384 digest and returns the value as a hex string.
static java.lang.String sha384Hex(java.lang.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(java.io.InputStream data)
          Calculates the SHA-512 digest and returns the value as a byte[].
static byte[] sha512(java.lang.String data)
          Calculates the SHA-512 digest and returns the value as a byte[].
static java.lang.String sha512Hex(byte[] data)
          Calculates the SHA-512 digest and returns the value as a hex string.
static java.lang.String sha512Hex(java.io.InputStream data)
          Calculates the SHA-512 digest and returns the value as a hex string.
static java.lang.String sha512Hex(java.lang.String data)
          Calculates the SHA-512 digest and returns the value as a hex string.
static java.lang.String shaHex(byte[] data)
          Deprecated. Use sha1Hex(byte[])
static java.lang.String shaHex(java.io.InputStream data)
          Deprecated. Use sha1Hex(InputStream)
static java.lang.String shaHex(java.lang.String data)
          Deprecated. Use sha1Hex(String)
static java.security.MessageDigest updateDigest(java.security.MessageDigest messageDigest, byte[] valueToDigest)
          Updates the given MessageDigest.
static java.security.MessageDigest updateDigest(java.security.MessageDigest digest, java.io.InputStream data)
          Reads through an InputStream and updates the digest for the data
static java.security.MessageDigest updateDigest(java.security.MessageDigest messageDigest, java.lang.String valueToDigest)
          Updates the given MessageDigest.
 
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

DigestUtils

public DigestUtils()
Method Detail

digest

private static byte[] digest(java.security.MessageDigest digest,
                             java.io.InputStream data)
                      throws java.io.IOException
Read through an InputStream and returns the digest for the data

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

getDigest

public static java.security.MessageDigest getDigest(java.lang.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:
java.lang.IllegalArgumentException - when a NoSuchAlgorithmException is caught.
See Also:
MessageDigest.getInstance(String)

getMd2Digest

public static java.security.MessageDigest getMd2Digest()
Returns an MD2 MessageDigest.

Returns:
An MD2 digest instance.
Throws:
java.lang.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 java.security.MessageDigest getMd5Digest()
Returns an MD5 MessageDigest.

Returns:
An MD5 digest instance.
Throws:
java.lang.IllegalArgumentException - when a NoSuchAlgorithmException is caught, which should never happen because MD5 is a built-in algorithm
See Also:
MessageDigestAlgorithms.MD5

getSha1Digest

public static java.security.MessageDigest getSha1Digest()
Returns an SHA-1 digest.

Returns:
An SHA-1 digest instance.
Throws:
java.lang.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 java.security.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:
java.lang.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 java.security.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:
java.lang.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 java.security.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:
java.lang.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 java.security.MessageDigest getShaDigest()
Deprecated. Use getSha1Digest()

Returns an SHA-1 digest.

Returns:
An SHA-1 digest instance.
Throws:
java.lang.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(java.io.InputStream data)
                  throws java.io.IOException
Calculates the MD2 digest and returns the value as a 16 element byte[].

Parameters:
data - Data to digest
Returns:
MD2 digest
Throws:
java.io.IOException - On error reading from the stream
Since:
1.7

md2

public static byte[] md2(java.lang.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 java.lang.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 java.lang.String md2Hex(java.io.InputStream data)
                               throws java.io.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:
java.io.IOException - On error reading from the stream
Since:
1.7

md2Hex

public static java.lang.String md2Hex(java.lang.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(java.io.InputStream data)
                  throws java.io.IOException
Calculates the MD5 digest and returns the value as a 16 element byte[].

Parameters:
data - Data to digest
Returns:
MD5 digest
Throws:
java.io.IOException - On error reading from the stream
Since:
1.4

md5

public static byte[] md5(java.lang.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 java.lang.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 java.lang.String md5Hex(java.io.InputStream data)
                               throws java.io.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:
java.io.IOException - On error reading from the stream
Since:
1.4

md5Hex

public static java.lang.String md5Hex(java.lang.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(java.io.InputStream data)
                  throws java.io.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:
java.io.IOException - On error reading from the stream
Since:
1.4

sha

@Deprecated
public static byte[] sha(java.lang.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(java.io.InputStream data)
                   throws java.io.IOException
Calculates the SHA-1 digest and returns the value as a byte[].

Parameters:
data - Data to digest
Returns:
SHA-1 digest
Throws:
java.io.IOException - On error reading from the stream
Since:
1.7

sha1

public static byte[] sha1(java.lang.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 java.lang.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 java.lang.String sha1Hex(java.io.InputStream data)
                                throws java.io.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:
java.io.IOException - On error reading from the stream
Since:
1.7

sha1Hex

public static java.lang.String sha1Hex(java.lang.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(java.io.InputStream data)
                     throws java.io.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:
java.io.IOException - On error reading from the stream
Since:
1.4

sha256

public static byte[] sha256(java.lang.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 java.lang.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 java.lang.String sha256Hex(java.io.InputStream data)
                                  throws java.io.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:
java.io.IOException - On error reading from the stream
Since:
1.4

sha256Hex

public static java.lang.String sha256Hex(java.lang.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(java.io.InputStream data)
                     throws java.io.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:
java.io.IOException - On error reading from the stream
Since:
1.4

sha384

public static byte[] sha384(java.lang.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 java.lang.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 java.lang.String sha384Hex(java.io.InputStream data)
                                  throws java.io.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:
java.io.IOException - On error reading from the stream
Since:
1.4

sha384Hex

public static java.lang.String sha384Hex(java.lang.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(java.io.InputStream data)
                     throws java.io.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:
java.io.IOException - On error reading from the stream
Since:
1.4

sha512

public static byte[] sha512(java.lang.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 java.lang.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 java.lang.String sha512Hex(java.io.InputStream data)
                                  throws java.io.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:
java.io.IOException - On error reading from the stream
Since:
1.4

sha512Hex

public static java.lang.String sha512Hex(java.lang.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 java.lang.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 java.lang.String shaHex(java.io.InputStream data)
                               throws java.io.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:
java.io.IOException - On error reading from the stream
Since:
1.4

shaHex

@Deprecated
public static java.lang.String shaHex(java.lang.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 java.security.MessageDigest updateDigest(java.security.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 java.security.MessageDigest updateDigest(java.security.MessageDigest digest,
                                                       java.io.InputStream data)
                                                throws java.io.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:
java.io.IOException - On error reading from the stream
Since:
1.8

updateDigest

public static java.security.MessageDigest updateDigest(java.security.MessageDigest messageDigest,
                                                       java.lang.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


commons-codec version 1.8 - Copyright © 2002-2013 - Apache Software Foundation