## gnu.crypto.hash
Class Sha256Standalone

    java.lang.Object
      gnu.crypto.hash.BaseHashStandalone
          gnu.crypto.hash.Sha256Standalone

All Implemented Interfaces:
  IMessageDigestStandalone, Cloneable

    public class Sha256Standalone

extends BaseHashStandalone

Implementation of SHA2-1 [SHA-256] per the IETF Draft Specification.

References:

1. Descriptions of SHA-256, SHA-384, and SHA-512,
2. http://csrc.nist.gov/cryptval/shs/sha256-384-512.pdf

Modified by jrandom@i2p.net to remove unnecessary gnu-crypto dependencies, and renamed from Sha256 to avoid conflicts with JVMs using gnu-crypto as their JCE provider.

Version:
  $Revision: 1.2 $

Field Summary

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

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

Method Summary
`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 offset)` The block digest transformation per se.

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

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

Constructor Detail

### Sha256Standalone

    public Sha256Standalone()

  Trivial 0-arguments constructor.

Method Detail

### clone

    public Object clone()

  Description copied from interface: `IMessageDigestStandalone`

  Returns a clone copy of this instance.

  Specified by:
    `clone` in interface `IMessageDigestStandalone`
  Specified by:
    `clone` in class `BaseHashStandalone`
  Returns:
    a clone copy of this instance.

### transform

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

  Description copied from class: `BaseHashStandalone`

  The block digest transformation per se.

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

### padBuffer

    protected byte[] padBuffer()

  Description copied from class: `BaseHashStandalone`

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

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

### getResult

    protected byte[] getResult()

  Description copied from class: `BaseHashStandalone`

  Constructs the result from the contents of the current context.

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

### resetContext

    protected void resetContext()

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

  Specified by:
    `resetContext` in class `BaseHashStandalone`

### selfTest

    public boolean selfTest()

  Description copied from interface: `IMessageDigestStandalone`

  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 `IMessageDigestStandalone`
  Specified by:
    `selfTest` in class `BaseHashStandalone`
  Returns:
    `true` if the implementation passes a basic self-test. Returns `false` otherwise.