org.bouncycastle.crypto.digests

## Class LongDigest

- java.lang.Object
- - org.bouncycastle.crypto.digests.LongDigest

All Implemented Interfaces:
  Digest, ExtendedDigest

Direct Known Subclasses:
  SHA384Digest, SHA512Digest

    public abstract class LongDigest
    extends java.lang.Object
    implements ExtendedDigest

Base class for SHA-384 and SHA-512.

### Field Summary

Fields
`protected long` `H1`
`protected long` `H2`
`protected long` `H3`
`protected long` `H4`
`protected long` `H5`
`protected long` `H6`
`protected long` `H7`
`protected long` `H8`

### Constructor Summary

Constructors
`protected` `LongDigest()` Constructor for variable length word
`protected` `LongDigest(LongDigest t)` Copy constructor.

### Method Summary

Methods
`void` `finish()`
`int` `getByteLength()` Return the size in bytes of the internal buffer the digest applies it's compression function to.
`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.
`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`

### Methods inherited from interface org.bouncycastle.crypto.Digest

`doFinal, getAlgorithmName, getDigestSize`

### Field Detail

#### 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

### 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`

#### getByteLength

    public int getByteLength()

Description copied from interface: `ExtendedDigest`
Return the size in bytes of the internal buffer the digest applies it's compression function to.

Specified by:
  `getByteLength` in interface `ExtendedDigest`
Returns:
  byte length of the digests internal buffer.

#### processWord

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

#### processLength

    protected void processLength(long lowW,
                     long hiW)

#### processBlock

    protected void processBlock()