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

Constructors
Constructor and Description
`Sha256Standalone()` Trivial 0-arguments constructor.

### Method Summary

Methods
`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.