## net.i2p.crypto
Class SHA1Hash

    java.lang.Object
      net.i2p.data.DataStructureImpl
          net.i2p.crypto.SHA1Hash

All Implemented Interfaces:
  DataStructure

    public class SHA1Hash

extends DataStructureImpl

Because DSAEngine was abusing Hash for 20-byte hashes

Since:
  0.8.1
Author:
  zzz

Field Summary
`static int` `HASH_LENGTH`

Constructor Summary
`SHA1Hash(byte[] data)`

Method Summary
`boolean` `equals(Object obj)`
`byte[]` `getData()`
`int` `hashCode()` a Hash is a hash, so just use the first 4 bytes for speed
`void` `readBytes(InputStream in)` Load up the current object with data from the given stream.
`void` `setData(byte[] data)`
`void` `writeBytes(OutputStream out)` Write out the data structure to the stream, using the format defined in the I2P data structure specification.

Methods inherited from class net.i2p.data.DataStructureImpl
`calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArray`

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

Field Detail

### HASH_LENGTH

    public static final int HASH_LENGTH

See Also:
  Constant Field Values

Constructor Detail

### SHA1Hash

    public SHA1Hash(byte[] data)

Throws:
  `IllegalArgumentException` - if data is not 20 bytes (null is ok)

Method Detail

### getData

    public byte[] getData()

### setData

    public void setData(byte[] data)

  Throws:
    `IllegalArgumentException` - if data is not 20 bytes (null is ok)

### readBytes

    public void readBytes(InputStream in)
                   throws DataFormatException,
                          IOException

  Description copied from interface: `DataStructure`
  Load up the current object with data from the given stream. Data loaded this way must match the I2P data structure specification.

  Parameters:
    `in` - stream to read from
  Throws:
    `IOException` - always
    `DataFormatException` - if the data is improperly formatted

### writeBytes

    public void writeBytes(OutputStream out)
                    throws DataFormatException,
                           IOException

  Description copied from interface: `DataStructure`
  Write out the data structure to the stream, using the format defined in the I2P data structure specification.

  Parameters:
    `out` - stream to write to
  Throws:
    `IOException` - always
    `DataFormatException` - if the data was incomplete or not yet ready to be written

### equals

    public boolean equals(Object obj)

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  a Hash is a hash, so just use the first 4 bytes for speed

  Overrides:
    `hashCode` in class `Object`