gnu.crypto.hash

## Interface IMessageDigestStandalone

- All Superinterfaces:
    Cloneable
  All Known Implementing Classes:
    BaseHashStandalone, Sha256Standalone

      public interface IMessageDigestStandalone
      extends Cloneable

  The basic visible methods of any hash algorithm.

  A hash (or message digest) algorithm produces its output by iterating a basic compression function on blocks of data.

  Version:
    $Revision: 1.1 $

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `blockSize()` Returns the algorithm's (inner) block size in bytes.
    `Object` | `clone()` Returns a clone copy of this instance.
    `byte[]` | `digest()` Completes the message digest by performing final operations such as padding and resetting the instance.
    `int` | `hashSize()` Returns the output length in bytes of this message digest algorithm.
    `String` | `name()` Returns the canonical name of this algorithm.
    `void` | `reset()` Resets the current context of this instance clearing any eventually cached intermediary values.
    `boolean` | `selfTest()` A basic test.
    `void` | `update(byte b)` Continues a message digest operation using the input byte.
    `void` | `update(byte[] in)` Continues a message digest operation, by filling the buffer, processing data in the algorithm's HASH_SIZE-bit block(s), updating the context and count, and buffering the remaining bytes in buffer for the next operation.
    `void` | `update(byte[] in, int offset, int length)` Continues a message digest operation, by filling the buffer, processing data in the algorithm's HASH_SIZE-bit block(s), updating the context and count, and buffering the remaining bytes in buffer for the next operation.

- - ### Method Detail

    - #### name

          String name()

      Returns the canonical name of this algorithm.

      Returns:
        the canonical name of this instance.

    - #### hashSize

          int hashSize()

      Returns the output length in bytes of this message digest algorithm.

      Returns:
        the output length in bytes of this message digest algorithm.

    - #### blockSize

          int blockSize()

      Returns the algorithm's (inner) block size in bytes.

      Returns:
        the algorithm's inner block size in bytes.

    - #### update

          void update(byte b)

      Continues a message digest operation using the input byte.

      Parameters:
        `b` - the input byte to digest.

    - #### update

          void update(byte[] in)

      Continues a message digest operation, by filling the buffer, processing data in the algorithm's HASH_SIZE-bit block(s), updating the context and count, and buffering the remaining bytes in buffer for the next operation.

      Parameters:
        `in` - the input block.

    - #### update

          void update(byte[] in,
                    int offset,
                    int length)

      Continues a message digest operation, by filling the buffer, processing data in the algorithm's HASH_SIZE-bit block(s), updating the context and count, and buffering the remaining bytes in buffer for the next operation.

      Parameters:
        `in` - the input block.
        `offset` - start of meaningful bytes in input block.
        `length` - number of bytes, in input block, to consider.

    - #### digest

          byte[] digest()

      Completes the message digest by performing final operations such as padding and resetting the instance.

      Returns:
        the array of bytes representing the hash value.

    - #### reset

          void reset()

      Resets the current context of this instance clearing any eventually cached intermediary values.

    - #### selfTest

          boolean selfTest()

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

      Returns:
        `true` if the implementation passes a basic self-test. Returns `false` otherwise.

    - #### clone

          Object clone()

      Returns a clone copy of this instance.

      Returns:
        a clone copy of this instance.