Class LongDigest

  • All Implemented Interfaces:
    Digest
    Direct Known Subclasses:
    SHA384Digest, SHA512Digest

    public abstract class LongDigest
    extends java.lang.Object
    implements Digest
    Base class for SHA-384 and SHA-512.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private long byteCount1  
      private long byteCount2  
      protected long H1  
      protected long H2  
      protected long H3  
      protected long H4  
      protected long H5  
      protected long H6  
      protected long H7  
      protected long H8  
      (package private) static long[] K  
      private long[] W  
      private int wOff  
      private byte[] xBuf  
      private int xBufOff  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected LongDigest()
      Constructor for variable length word
      protected LongDigest​(LongDigest t)
      Copy constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void adjustByteCounts()
      adjust the byte counts so that byteCount2 represents the upper long (less 3 bits) word of the byte count.
      private long Ch​(long x, long y, long z)  
      void finish()  
      private long Maj​(long x, long y, long z)  
      protected void processBlock()  
      protected void processLength​(long lowW, long hiW)  
      protected void processWord​(byte[] in, int inOff)  
      void reset()
      reset the digest back to it's initial state.
      private long rotateRight​(long x, int n)  
      private long Sigma0​(long x)  
      private long Sigma1​(long x)  
      private long Sum0​(long x)  
      private long Sum1​(long x)  
      protected void unpackWord​(long word, byte[] out, int outOff)  
      void update​(byte in)
      update the message digest with a single byte.
      void update​(byte[] in, int inOff, int len)
      update the message digest with a block of bytes.
      • Methods inherited from class java.lang.Object

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

      • xBuf

        private byte[] xBuf
      • xBufOff

        private int xBufOff
      • byteCount1

        private long byteCount1
      • byteCount2

        private long byteCount2
      • H1

        protected long H1
      • H2

        protected long H2
      • H3

        protected long H3
      • H4

        protected long H4
      • H5

        protected long H5
      • H6

        protected long H6
      • H7

        protected long H7
      • H8

        protected long H8
      • W

        private long[] W
      • wOff

        private int wOff
      • K

        static final long[] K
    • Constructor Detail

      • LongDigest

        protected LongDigest()
        Constructor for variable length word
      • LongDigest

        protected LongDigest​(LongDigest t)
        Copy constructor. We are using copy constructors in place of the Object.clone() interface as this interface is not supported by J2ME.
    • Method Detail

      • update

        public void update​(byte in)
        Description copied from interface: Digest
        update the message digest with a single byte.
        Specified by:
        update in interface Digest
        Parameters:
        in - the input byte to be entered.
      • update

        public void update​(byte[] in,
                           int inOff,
                           int len)
        Description copied from interface: Digest
        update the message digest with a block of bytes.
        Specified by:
        update in interface Digest
        Parameters:
        in - the byte array containing the data.
        inOff - the offset into the byte array where the data starts.
        len - the length of the data.
      • finish

        public void finish()
      • reset

        public void reset()
        Description copied from interface: Digest
        reset the digest back to it's initial state.
        Specified by:
        reset in interface Digest
      • processWord

        protected void processWord​(byte[] in,
                                   int inOff)
      • unpackWord

        protected void unpackWord​(long word,
                                  byte[] out,
                                  int outOff)
      • adjustByteCounts

        private void adjustByteCounts()
        adjust the byte counts so that byteCount2 represents the upper long (less 3 bits) word of the byte count.
      • processLength

        protected void processLength​(long lowW,
                                     long hiW)
      • processBlock

        protected void processBlock()
      • rotateRight

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

        private long Ch​(long x,
                        long y,
                        long z)
      • Maj

        private long Maj​(long x,
                         long y,
                         long z)
      • Sum0

        private long Sum0​(long x)
      • Sum1

        private long Sum1​(long x)
      • Sigma0

        private long Sigma0​(long x)
      • Sigma1

        private long Sigma1​(long x)