net.i2p.data
Class Hash
java.lang.Object
net.i2p.data.DataStructureImpl
net.i2p.data.Hash
- All Implemented Interfaces:
- DataStructure
- Direct Known Subclasses:
- LocalHash
public class Hash
- extends DataStructureImpl
Defines the hash as defined by the I2P data structure spec.
A hash is the SHA-256 of some data, taking up 32 bytes.
- Author:
- jrandom
Constructor Summary |
Hash()
|
Hash(byte[] data)
|
HASH_LENGTH
public static final int HASH_LENGTH
- See Also:
- Constant Field Values
FAKE_HASH
public static final Hash FAKE_HASH
Hash
public Hash()
Hash
public Hash(byte[] data)
- Throws:
IllegalArgumentException
- if data is not 32 bytes (null is ok)
getData
public byte[] getData()
setData
public void setData(byte[] data)
- Throws:
IllegalArgumentException
- if data is not 32 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:
DataFormatException
- if the data is improperly formatted
IOException
- if there was a problem reading the stream
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:
DataFormatException
- if the data was incomplete or not yet ready to be written
IOException
- if there was a problem writing to the stream
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
toString
public String toString()
- Overrides:
toString
in class Object
toBase64
public String toBase64()
- Description copied from interface:
DataStructure
- render the structure into modified base 64 notation
- Specified by:
toBase64
in interface DataStructure
- Overrides:
toBase64
in class DataStructureImpl
- Returns:
- null on error