@PublicationReference(author="Wikipedia", title="SHA-2", type=WebPage, year=2011, url="http://en.wikipedia.org/wiki/SHA-2") public class SHA256Hash extends AbstractHashFunction
Modifier and Type | Field and Description |
---|---|
static int |
BLOCK_SIZE
Length of the hash block is 512 bits (64 bytes), 64.
|
protected static byte[] |
DEFAULT_SEED
Default seed
|
static int |
LENGTH
Length of the hash is 256 bits (32 bytes), 32.
|
Constructor and Description |
---|
SHA256Hash()
Default constructor
|
Modifier and Type | Method and Description |
---|---|
SHA256Hash |
clone()
This makes public the clone method on the
Object class and
removes the exception that it throws. |
void |
evaluateInto(byte[] input,
byte[] output,
byte[] seed)
Evaluates the input into the given output
|
byte[] |
getDefaultSeed()
Gets the default seed for the hash function
|
static byte[] |
hash(byte[] input)
SHA-2 256-bit hash function
|
static void |
hash(byte[] input,
byte[] output)
SHA-2 256-bit hash function
|
static void |
hash(byte[] input,
byte[] output,
byte[] seed)
SHA-2 256-bit hash function
|
int |
length()
Returns the number of bytes in the output hash code.
|
evaluate, evaluate, evaluateInto
public static final int LENGTH
public static final int BLOCK_SIZE
protected static final byte[] DEFAULT_SEED
public SHA256Hash clone()
AbstractCloneableSerializable
Object
class and
removes the exception that it throws. Its default behavior is to
automatically create a clone of the exact type of object that the
clone is called on and to copy all primitives but to keep all references,
which means it is a shallow copy.
Extensions of this class may want to override this method (but call
super.clone()
to implement a "smart copy". That is, to target
the most common use case for creating a copy of the object. Because of
the default behavior being a shallow copy, extending classes only need
to handle fields that need to have a deeper copy (or those that need to
be reset). Some of the methods in ObjectUtil
may be helpful in
implementing a custom clone method.
Note: The contract of this method is that you must use
super.clone()
as the basis for your implementation.clone
in interface CloneableSerializable
clone
in class AbstractHashFunction
public int length()
HashFunction
public void evaluateInto(byte[] input, byte[] output, byte[] seed)
HashFunction
input
- Input to compute the hash-function value ofoutput
- Output to put the hash-function intoseed
- Seed to offset the hash code.public static byte[] hash(byte[] input)
input
- Input to hashpublic static void hash(byte[] input, byte[] output)
input
- Input to hashoutput
- Output to store the hashpublic static void hash(byte[] input, byte[] output, byte[] seed)
input
- Input to hashoutput
- Output to store the hashseed
- Seed valuespublic byte[] getDefaultSeed()
HashFunction