net.rim.device.api.crypto
Class MD4Digest

java.lang.Object
  extended by net.rim.device.api.crypto.AbstractDigest
      extended by net.rim.device.api.crypto.MD4Digest
All Implemented Interfaces:
Digest

public final class MD4Digest
extends AbstractDigest
implements Digest

The MD4Digest class implements the MD4 hashing algorithm.

Note: the MD4 digest is considered weak, and should not be considered for new applications. It is provided for backwards compatibility.

MD4 is defined in RFC 1320.

For a code sample using the MD4 digest, click here.

For information on cryptographic algorithms, see Crypto Algorithms.

See Also:
MD5Digest, MD2Digest
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

Field Summary
Category: Signed static int BLOCK_LENGTH
          A static definition stating the block length of 64 bytes.
Category: Signed static int DIGEST_LENGTH
          Specifies the size of the digest in terms of the number of bytes returned by the getDigest function, namely 16 bytes.
 
Constructor Summary
Category: Signed MD4Digest()
          Constructs and initializes an MD4Digest object.
 
Method Summary
Category: Signed  String getAlgorithm()
          Returns the name of this digest ("MD4").
Category: Signed  int getBlockLength()
          Returns the block length of the digest in bytes.
Category: Signed  int getDigest(byte[] buffer, int offset, boolean resetDigest)
          Inserts the digest of all the input data since the last reset into the specified buffer at the given offset.
Category: Signed  int getDigestLength()
          Returns the length of the digest in bytes.
Category: Signed  void reset()
          Reinitializes the digest.
Category: Signed  void update(byte[] data, int offset, int length)
          Passes a byte array of data, specified by the length and offset, into the hash algorithm.
Category: Signed  void update(int data)
          Passes a single byte into the hash algorithm.
 
Methods inherited from class net.rim.device.api.crypto.AbstractDigest
getDigest, getDigest, getDigest, update
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.rim.device.api.crypto.Digest
getDigest, getDigest, getDigest, update
 



Field Detail

DIGEST_LENGTH

public static final int DIGEST_LENGTH
Specifies the size of the digest in terms of the number of bytes returned by the getDigest function, namely 16 bytes.

See Also:
Constant Field Values
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

BLOCK_LENGTH

public static final int BLOCK_LENGTH
A static definition stating the block length of 64 bytes.

See Also:
Constant Field Values
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0


Constructor Detail

MD4Digest

public MD4Digest()
Constructs and initializes an MD4Digest object.

Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0


Method Detail

getAlgorithm

public String getAlgorithm()
Returns the name of this digest ("MD4").

This method will always return the String "MD4".

Specified by:
getAlgorithm in interface Digest
Specified by:
getAlgorithm in class AbstractDigest
Returns:
A String representing the name of the digest.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

reset

public void reset()
Description copied from class: AbstractDigest
Reinitializes the digest.

Specified by:
reset in interface Digest
Specified by:
reset in class AbstractDigest
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

update

public void update(int data)
Description copied from class: AbstractDigest
Passes a single byte into the hash algorithm.

Specified by:
update in interface Digest
Overrides:
update in class AbstractDigest
Parameters:
data - The byte to be hashed.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

update

public void update(byte[] data,
                   int offset,
                   int length)
Description copied from class: AbstractDigest
Passes a byte array of data, specified by the length and offset, into the hash algorithm.

Specified by:
update in interface Digest
Specified by:
update in class AbstractDigest
Parameters:
data - The array containing the input data.
offset - The offset of the input data.
length - The length of the input data.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

getDigestLength

public int getDigestLength()
Description copied from class: AbstractDigest
Returns the length of the digest in bytes.

Specified by:
getDigestLength in interface Digest
Specified by:
getDigestLength in class AbstractDigest
Returns:
An integer representing the number of bytes.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

getBlockLength

public int getBlockLength()
Description copied from class: AbstractDigest
Returns the block length of the digest in bytes. This block length is used in HMAC and therefore is overidden by HMAC-supported digests.

Specified by:
getBlockLength in interface Digest
Overrides:
getBlockLength in class AbstractDigest
Returns:
An integer representing the block length.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0

getDigest

public int getDigest(byte[] buffer,
                     int offset,
                     boolean resetDigest)
Description copied from class: AbstractDigest
Inserts the digest of all the input data since the last reset into the specified buffer at the given offset.

Specified by:
getDigest in interface Digest
Specified by:
getDigest in class AbstractDigest
Parameters:
buffer - The byte array to hold the digest data.
offset - The offset, or initial bit position, to store the data at within the array.
resetDigest - if true, then the digest is reset.
Returns:
An integer representing the number of bytes written to the buffer.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 3.6.0





Copyright 1999-2010 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark of Sun Microsystems, Inc.