For the latest news and information visit The GNU Crypto project

## gnu.crypto.hash
Class MD5

    java.lang.Object
      |
      +--gnu.crypto.hash.BaseHash
            |
            +--gnu.crypto.hash.MD5

All Implemented Interfaces:
  java.lang.Cloneable, IMessageDigest

public class MD5
extends BaseHash

The MD5 message-digest algorithm takes as input a message of arbitrary length and produces as output a 128-bit "fingerprint" or "message digest" of the input. It is conjectured that it is computationally infeasible to produce two messages having the same message digest, or to produce any message having a given prespecified target message digest.

References:

1. The MD5 Message- Digest Algorithm.
   R. Rivest.

Field Summary

Fields inherited from class gnu.crypto.hash.BaseHash
`blockSize, buffer, count, hashSize, name`

Constructor Summary
`MD5()` Trivial 0-arguments constructor.

Method Summary
`java.lang.Object` `clone()` Returns a clone copy of this instance.
`protected byte[]` `getResult()` Constructs the result from the contents of the current context.
`protected byte[]` `padBuffer()` Returns the byte array to use as padding before completing a hash operation.
`protected void` `resetContext()` Resets the instance for future re-use.
`boolean` `selfTest()` A basic test.
`protected void` `transform(byte[] in, int i)` The block digest transformation per se.

Methods inherited from class gnu.crypto.hash.BaseHash
`blockSize, digest, hashSize, name, reset, update, update`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MD5

    public MD5()

  Trivial 0-arguments constructor.

Method Detail

### clone

    public java.lang.Object clone()

  Description copied from interface: `IMessageDigest`

  Returns a clone copy of this instance.

  Specified by:
    `clone` in interface `IMessageDigest`
  Specified by:
    `clone` in class `BaseHash`
  Returns:
    a clone copy of this instance.

### transform

    protected void transform(byte[] in,
                             int i)

  Description copied from class: `BaseHash`

  The block digest transformation per se.

  Specified by:
    `transform` in class `BaseHash`
  Parameters:
    `in` - the blockSize long block, as an array of bytes to digest.
    `i` - the index where the data to digest is located within the input buffer.

### padBuffer

    protected byte[] padBuffer()

  Description copied from class: `BaseHash`

  Returns the byte array to use as padding before completing a hash operation.

  Specified by:
    `padBuffer` in class `BaseHash`
  Returns:
    the bytes to pad the remaining bytes in the buffer before completing a hash operation.

### getResult

    protected byte[] getResult()

  Description copied from class: `BaseHash`

  Constructs the result from the contents of the current context.

  Specified by:
    `getResult` in class `BaseHash`
  Returns:
    the output of the completed hash operation.

### resetContext

    protected void resetContext()

  Description copied from class: `BaseHash`
  Resets the instance for future re-use.

  Specified by:
    `resetContext` in class `BaseHash`

### selfTest

    public boolean selfTest()

  Description copied from interface: `IMessageDigest`

  A basic test. Ensures that the digest of a pre-determined message is equal to a known pre-computed value.

  Specified by:
    `selfTest` in interface `IMessageDigest`
  Specified by:
    `selfTest` in class `BaseHash`
  Returns:
    `true` if the implementation passes a basic self-test. Returns `false` otherwise.

For the latest news and information visit The GNU Crypto project

Copyright © 2001, 2002, 2003, 2004 Free Software Foundation, Inc.