Class SHA256Digest

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

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
 
  • Constructor Details

    • 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 Details

    • 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 String getAlgorithmName()
      Description copied from interface: Digest
      return the algorithm name
      Specified by:
      getAlgorithmName in interface 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
      Returns:
      the size, in bytes, of the digest produced by this message digest.
    • processWord

      protected void processWord(byte[] in, int inOff)
      Specified by:
      processWord in class GeneralDigest
    • processLength

      protected void processLength(long bitLength)
      Specified by:
      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
      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()
      Specified by:
      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
      Parameters:
      other - an object originally copied from an object of the same type as this instance.
    • 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
      Returns:
      an encoding of the digests internal state.
    • cryptoServiceProperties

      protected CryptoServiceProperties cryptoServiceProperties()
      Specified by:
      cryptoServiceProperties in class GeneralDigest