org.bitcoin.x6763.crypto.digest
Class SHA256

java.lang.Object
  extended by org.bitcoin.x6763.crypto.digest.SHA256

public class SHA256
extends java.lang.Object

The SHA256 provides methods for hashing data with the SHA-256 digest.

There are two ways this class can be used. The first way is to use the static hash method, which will internally instantiate the SHA256 class on each call:

 byte[] data = new String("abc").getBytes();
 byte[] hash = SHA256.hash(data);
 
 
The second way is to instantiate a SHA256 object and use the hashBytes instance method. Each call to hashBytes resets the SHA256 digest, so each hash does not affect the next.
 SHA256 sha256 = new SHA256();
 
 byte[] data1 = new String("abc").getBytes();
 byte[] hash1 = sha256.hashBytes(data1);
 
 byte[] data2 = new String("def").getBytes();
 byte[] hash2 = sha256.hashBytes(data2);
 
 
The update and digest instance methods can also be used directly, as well.

Author:
x6763

Constructor Summary
SHA256()
          Creates a SHA256 digest instance.
 
Method Summary
 byte[] digest()
          Completes the SHA-256 hash computation by performing the final operations such as padding.
 byte[] digest(byte data)
          Completes the SHA-256 hash computation by performing the final operations such as padding.
 byte[] digest(byte[] data)
          Completes the SHA-256 hash computation by performing the final operations such as padding.
 byte[] digest(byte[] data, int offset, int length)
          Completes the SHA-256 hash computation by performing the final operations such as padding.
static byte[] hash(byte[] data)
          Hashes an array of bytes with the SHA-256 algorithm.
 byte[] hashBytes(byte[] data)
          Hashes an array of bytes with the SHA-256 algorithm.
 void update(byte data)
          Updates the SHA-256 digest using the specified byte.
 void update(byte[] data)
          Updates the SHA-256 digest using the specified array of bytes
 void update(byte[] data, int offset, int length)
          Updates the SHA-256 digest using the specified array of bytes, starting at the specified offset.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SHA256

public SHA256()
Creates a SHA256 digest instance.

Method Detail

hash

public static byte[] hash(byte[] data)
Hashes an array of bytes with the SHA-256 algorithm.

Parameters:
data - the array of bytes to hash
Returns:
the array of bytes for the resulting hash value

hashBytes

public byte[] hashBytes(byte[] data)
Hashes an array of bytes with the SHA-256 algorithm.

Parameters:
data - the array of bytes to hash
Returns:
the array of bytes for the resulting hash value

update

public void update(byte data)
Updates the SHA-256 digest using the specified byte.

Parameters:
data - the byte with which to update the digest

update

public void update(byte[] data)
Updates the SHA-256 digest using the specified array of bytes

Parameters:
data - the array of bytes to hash

update

public void update(byte[] data,
                   int offset,
                   int length)
Updates the SHA-256 digest using the specified array of bytes, starting at the specified offset.

Parameters:
data - the array of bytes to hash
offset - the offset to start from in the array of bytes
length - the number of bytes to use, starting at offset

digest

public byte[] digest()
Completes the SHA-256 hash computation by performing the final operations such as padding. The digest is reset after this call is made.

Returns:
the array of bytes for the resulting hash value

digest

public byte[] digest(byte data)
Completes the SHA-256 hash computation by performing the final operations such as padding. The digest is reset after this call is made.

Parameters:
data - the byte to be updated before the digest is completed
Returns:
the array of bytes for the resulting hash value

digest

public byte[] digest(byte[] data)
Completes the SHA-256 hash computation by performing the final operations such as padding. The digest is reset after this call is made.

Parameters:
data - the array of bytes to be updated before the digest is completed
Returns:
the array of bytes for the resulting hash value

digest

public byte[] digest(byte[] data,
                     int offset,
                     int length)
Completes the SHA-256 hash computation by performing the final operations such as padding. The digest is reset after this call is made.

Parameters:
data - the array of bytes to be updated before the digest is completed
offset - the offset to start from in the array of bytes
length - the number of bytes to use, starting at offset
Returns:
the array of bytes for the resulting hash value