Bouncy Castle Cryptography Library 1.77.0

org.bouncycastle.crypto.digests
Class SHA256Digest

java.lang.Object
  |
  +--org.bouncycastle.crypto.digests.GeneralDigest
        |
        +--org.bouncycastle.crypto.digests.SHA256Digest
All Implemented Interfaces:
Digest, EncodableDigest, ExtendedDigest, Memoable, SavableDigest

public class SHA256Digest
extends GeneralDigest
implements SavableDigest

FIPS 180-2 implementation of SHA-256. block word digest SHA-1 512 32 160 SHA-256 512 32 256 SHA-384 1024 64 384 SHA-512 1024 64 512


Fields inherited from class org.bouncycastle.crypto.digests.GeneralDigest
purpose
 
Constructor Summary
SHA256Digest()
          Standard constructor
SHA256Digest(byte[] encodedState)
          State constructor - create a digest initialised with the state of a previous one.
SHA256Digest(CryptoServicePurpose purpose)
          Standard constructor, with purpose
SHA256Digest(SHA256Digest t)
          Copy constructor.
 
Method Summary
 Memoable copy()
          Produce a copy of this object with its configuration and in its current state.
protected  CryptoServiceProperties cryptoServiceProperties()
           
 int doFinal(byte[] out, int outOff)
          close the digest, producing the final digest value.
 java.lang.String getAlgorithmName()
          return the algorithm name
 int getDigestSize()
          return the size, in bytes, of the digest produced by this message digest.
 byte[] getEncodedState()
          Return an encoded byte array for the digest's internal state
static SavableDigest newInstance()
           
static SavableDigest newInstance(byte[] encoded)
           
static SavableDigest newInstance(CryptoServicePurpose purpose)
           
static SavableDigest newInstance(Digest digest)
           
protected  void processBlock()
           
protected  void processLength(long bitLength)
           
protected  void processWord(byte[] in, int inOff)
           
 void reset()
          reset the chaining variables
 void reset(Memoable other)
          Restore a copied object state into this object.
 
Methods inherited from class org.bouncycastle.crypto.digests.GeneralDigest
copyIn, finish, getByteLength, populateState, update, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.bouncycastle.crypto.ExtendedDigest
getByteLength
 
Methods inherited from interface org.bouncycastle.crypto.Digest
update, update
 

Constructor Detail

SHA256Digest

public SHA256Digest()
Standard constructor

SHA256Digest

public SHA256Digest(CryptoServicePurpose purpose)
Standard constructor, with purpose

SHA256Digest

public SHA256Digest(SHA256Digest t)
Copy constructor. This will copy the state of the provided message digest.

SHA256Digest

public SHA256Digest(byte[] encodedState)
State constructor - create a digest initialised with the state of a previous one.
Parameters:
encodedState - the encoded state from the originating digest.
Method Detail

newInstance

public static SavableDigest newInstance()

newInstance

public static SavableDigest newInstance(CryptoServicePurpose purpose)

newInstance

public static SavableDigest newInstance(Digest digest)

newInstance

public static SavableDigest newInstance(byte[] encoded)

getAlgorithmName

public java.lang.String getAlgorithmName()
Description copied from interface: Digest
return the algorithm name
Specified by:
getAlgorithmName in interface Digest
Following copied from interface: org.bouncycastle.crypto.Digest
Returns:
the algorithm name

getDigestSize

public int getDigestSize()
Description copied from interface: Digest
return the size, in bytes, of the digest produced by this message digest.
Specified by:
getDigestSize in interface Digest
Following copied from interface: org.bouncycastle.crypto.Digest
Returns:
the size, in bytes, of the digest produced by this message digest.

processWord

protected void processWord(byte[] in,
                           int inOff)
Overrides:
processWord in class GeneralDigest

processLength

protected void processLength(long bitLength)
Overrides:
processLength in class GeneralDigest

doFinal

public int doFinal(byte[] out,
                   int outOff)
Description copied from interface: Digest
close the digest, producing the final digest value. The doFinal call leaves the digest reset.
Specified by:
doFinal in interface Digest
Following copied from interface: org.bouncycastle.crypto.Digest
Parameters:
out - the array the digest is to be copied into.
outOff - the offset into the out array the digest is to start at.

reset

public void reset()
reset the chaining variables
Specified by:
reset in interface Digest
Overrides:
reset in class GeneralDigest

processBlock

protected void processBlock()
Overrides:
processBlock in class GeneralDigest

copy

public Memoable copy()
Description copied from interface: Memoable
Produce a copy of this object with its configuration and in its current state.

The returned object may be used simply to store the state, or may be used as a similar object starting from the copied state.

Specified by:
copy in interface Memoable

reset

public void reset(Memoable other)
Description copied from interface: Memoable
Restore a copied object state into this object.

Implementations of this method should try to avoid or minimise memory allocation to perform the reset.

Specified by:
reset in interface Memoable
Following copied from interface: org.bouncycastle.util.Memoable
Parameters:
other - an object originally copied from an object of the same type as this instance.
Throws:
java.lang.ClassCastException - if the provided object is not of the correct type.
MemoableResetException - if the other parameter is in some other way invalid.

getEncodedState

public byte[] getEncodedState()
Description copied from interface: EncodableDigest
Return an encoded byte array for the digest's internal state
Specified by:
getEncodedState in interface EncodableDigest
Following copied from interface: org.bouncycastle.crypto.digests.EncodableDigest
Returns:
an encoding of the digests internal state.

cryptoServiceProperties

protected CryptoServiceProperties cryptoServiceProperties()
Overrides:
cryptoServiceProperties in class GeneralDigest

Bouncy Castle Cryptography Library 1.77.0