org.restlet.ext.crypto
Class DigestUtils

java.lang.Object
  extended by org.restlet.ext.crypto.DigestUtils

public class DigestUtils
extends Object

Security data manipulation utilities.

Author:
Jerome Louvel

Method Summary
static char[] digest(char[] target, String algorithm)
          Returns the digest of the target string.
static String digest(String target, String algorithm)
          Returns the digest of the target string.
static byte[] toHMacSha1(String source, byte[] secretKey)
          Converts a source string to its HMAC/SHA-1 value.
static byte[] toHMacSha1(String source, String secretKey)
          Converts a source string to its HMAC/SHA-1 value.
static byte[] toHMacSha256(String source, byte[] secretKey)
          Converts a source string to its HMAC/SHA256 value.
static byte[] toHMacSha256(String source, String secretKey)
          Converts a source string to its HMAC/SHA256 value.
static String toHttpDigest(String identifier, char[] secret, String realm)
          Return the HTTP DIGEST hashed secret.
static String toMd5(String target)
          Returns the MD5 digest of the target string.
static String toMd5(String target, String charsetName)
          Returns the MD5 digest of target string.
static String toSha1(String target)
          Returns the SHA1 digest of the target string.
static String toSha1(String target, String charsetName)
          Returns the SHA1 digest of target string.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

digest

public static char[] digest(char[] target,
                            String algorithm)
Returns the digest of the target string. Target is decoded to bytes using the US-ASCII charset. Supports MD5 and SHA-1 algorithms.

Parameters:
target - The string to encode.
algorithm - The digest algorithm to use.
Returns:
The digest of the target string.

digest

public static String digest(String target,
                            String algorithm)
Returns the digest of the target string. Target is decoded to bytes using the US-ASCII charset. Supports MD5 and SHA-1 algorithms.

Parameters:
target - The string to encode.
algorithm - The digest algorithm to use.
Returns:
The digest of the target string.

toHMacSha1

public static byte[] toHMacSha1(String source,
                                byte[] secretKey)
Converts a source string to its HMAC/SHA-1 value.

Parameters:
source - The source string to convert.
secretKey - The secret key to use for conversion.
Returns:
The HMac value of the source string.

toHMacSha1

public static byte[] toHMacSha1(String source,
                                String secretKey)
Converts a source string to its HMAC/SHA-1 value.

Parameters:
source - The source string to convert.
secretKey - The secret key to use for conversion.
Returns:
The HMac value of the source string.

toHMacSha256

public static byte[] toHMacSha256(String source,
                                  byte[] secretKey)
Converts a source string to its HMAC/SHA256 value.

Parameters:
source - The source string to convert.
secretKey - The secret key to use for conversion.
Returns:
The HMac value of the source string.

toHMacSha256

public static byte[] toHMacSha256(String source,
                                  String secretKey)
Converts a source string to its HMAC/SHA256 value.

Parameters:
source - The source string to convert.
secretKey - The secret key to use for conversion.
Returns:
The HMac value of the source string.

toHttpDigest

public static String toHttpDigest(String identifier,
                                  char[] secret,
                                  String realm)
Return the HTTP DIGEST hashed secret. It concatenates the identifier, realm and secret, separated by a comma and digest them using MD5.

Parameters:
identifier - The user identifier to hash.
secret - The user secret.
realm - The authentication realm.
Returns:
A hash of the user name, realm, and password, specified as A1 in section 3.2.2.2 of RFC2617, or null if the identifier has no corresponding secret.

toMd5

public static String toMd5(String target)
Returns the MD5 digest of the target string. Target is decoded to bytes using the US-ASCII charset. The returned hexadecimal String always contains 32 lowercase alphanumeric characters. For example, if target is "HelloWorld", this method returns "68e109f0f40ca72a15e05cc22786f8e6".

Parameters:
target - The string to encode.
Returns:
The MD5 digest of the target string.

toMd5

public static String toMd5(String target,
                           String charsetName)
                    throws UnsupportedEncodingException
Returns the MD5 digest of target string. Target is decoded to bytes using the named charset. The returned hexadecimal String always contains 32 lowercase alphanumeric characters. For example, if target is "HelloWorld", this method returns "68e109f0f40ca72a15e05cc22786f8e6".

Parameters:
target - The string to encode.
charsetName - The character set.
Returns:
The MD5 digest of the target string.
Throws:
UnsupportedEncodingException

toSha1

public static String toSha1(String target)
Returns the SHA1 digest of the target string. Target is decoded to bytes using the US-ASCII charset.

Parameters:
target - The string to encode.
Returns:
The MD5 digest of the target string.

toSha1

public static String toSha1(String target,
                            String charsetName)
                     throws UnsupportedEncodingException
Returns the SHA1 digest of target string. Target is decoded to bytes using the named charset.

Parameters:
target - The string to encode.
charsetName - The character set.
Returns:
The SHA1 digest of the target string.
Throws:
UnsupportedEncodingException


Copyright © 2005-2013 Restlet.