For the latest news and information visit The GNU Crypto project

## gnu.crypto.hash
Class Sha160

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

All Implemented Interfaces:
  java.lang.Cloneable, IMessageDigest

public class Sha160
extends BaseHash

The Secure Hash Algorithm (SHA-1) is required for use with the Digital Signature Algorithm (DSA) as specified in the Digital Signature Standard (DSS) and whenever a secure hash algorithm is required for federal applications. For a message of length less than 2^64 bits, the SHA-1 produces a 160-bit condensed representation of the message called a message digest. The message digest is used during generation of a signature for the message. The SHA-1 is also used to compute a message digest for the received version of the message during the process of verifying the signature. Any change to the message in transit will, with very high probability, result in a different message digest, and the signature will fail to verify.

The SHA-1 is designed to have the following properties: it is computationally infeasible to find a message which corresponds to a given message digest, or to find two different messages which produce the same message digest.

References:

1. SECURE HASH STANDARD
   Federal Information, Processing Standards Publication 180-1, 1995 April 17.

Field Summary

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

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

Method Summary
`java.lang.Object` `clone()` Returns a clone copy of this instance.
`static int[]` `G(int hh0, int hh1, int hh2, int hh3, int hh4, byte[] in, int offset)`
`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.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

### Sha160

    public Sha160()

  Trivial 0-arguments constructor.

Method Detail

### G

    public static final int[] G(int hh0,
                                int hh1,
                                int hh2,
                                int hh3,
                                int hh4,
                                byte[] in,
                                int offset)

### 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 offset)

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