Class SHA256Digest

java.lang.Object
org.gudy.bouncycastle.crypto.digests.GeneralDigest
org.gudy.bouncycastle.crypto.digests.SHA256Digest
All Implemented Interfaces:
Digest

public class SHA256Digest extends GeneralDigest
Draft FIPS 180-2 implementation of SHA-256. Note: As this is based on a draft this implementation is subject to change.
         block  word  digest
 SHA-1   512    32    160
 SHA-256 512    32    256
 SHA-384 1024   64    384
 SHA-512 1024   64    512
 
  • Field Details

    • DIGEST_LENGTH

      private static final int DIGEST_LENGTH
      See Also:
    • H1

      private int H1
    • H2

      private int H2
    • H3

      private int H3
    • H4

      private int H4
    • H5

      private int H5
    • H6

      private int H6
    • H7

      private int H7
    • H8

      private int H8
    • X

      private int[] X
    • xOff

      private int xOff
    • K

      static final int[] K
  • Constructor Details

    • SHA256Digest

      public SHA256Digest()
      Standard constructor
    • SHA256Digest

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

    • getAlgorithmName

      public String getAlgorithmName()
      Description copied from interface: Digest
      return the algorithm name
      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.
      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
    • unpackWord

      private void unpackWord(int word, byte[] out, int outOff)
    • 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.
      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
    • rotateRight

      private int rotateRight(int x, int n)
    • Ch

      private int Ch(int x, int y, int z)
    • Maj

      private int Maj(int x, int y, int z)
    • Sum0

      private int Sum0(int x)
    • Sum1

      private int Sum1(int x)
    • Theta0

      private int Theta0(int x)
    • Theta1

      private int Theta1(int x)