Class SHA256Digest

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static int DIGEST_LENGTH  
      private int H1  
      private int H2  
      private int H3  
      private int H4  
      private int H5  
      private int H6  
      private int H7  
      private int H8  
      (package private) static int[] K  
      private int[] X  
      private int xOff  
    • Constructor Summary

      Constructors 
      Constructor Description
      SHA256Digest()
      Standard constructor
      SHA256Digest​(byte[] encodedState)
      State constructor - create a digest initialised with the state of a previous one.
      SHA256Digest​(SHA256Digest t)
      Copy constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private int Ch​(int x, int y, int z)  
      Memoable copy()
      Produce a copy of this object with its configuration and in its current state.
      private void copyIn​(SHA256Digest t)  
      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
      private int Maj​(int x, int y, int z)  
      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.
      private int Sum0​(int x)  
      private int Sum1​(int x)  
      private int Theta0​(int x)  
      private int Theta1​(int x)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

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

      • SHA256Digest

        public SHA256Digest()
        Standard constructor
      • 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

      • getAlgorithmName

        public java.lang.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
      • 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.
      • 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)
      • 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.