Bouncy Castle Cryptography Library 1.45

## org.bouncycastle.crypto.macs
Class GOST28147Mac

    java.lang.Object
      org.bouncycastle.crypto.macs.GOST28147Mac

All Implemented Interfaces:
  Mac

    public class GOST28147Mac

extends java.lang.Object
implements Mac

implementation of GOST 28147-89 MAC

Constructor Summary
`GOST28147Mac()`

Method Summary
`int` `doFinal(byte[] out, int outOff)` Compute the final stage of the MAC writing the output to the out parameter.
`java.lang.String` `getAlgorithmName()` Return the name of the algorithm the MAC implements.
`int` `getMacSize()` Return the block size for this MAC (in bytes).
`void` `init(CipherParameters params)` Initialise the MAC.
`void` `reset()` Reset the MAC.
`void` `update(byte in)` add a single byte to the mac for processing.
`void` `update(byte[] in, int inOff, int len)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### GOST28147Mac

    public GOST28147Mac()

Method Detail

### init

    public void init(CipherParameters params)
              throws java.lang.IllegalArgumentException

  Description copied from interface: `Mac`
  Initialise the MAC.

  Specified by:
    `init` in interface `Mac`
  Parameters:
    `params` - the key and other data required by the MAC.
  Throws:
    `java.lang.IllegalArgumentException` - if the params argument is inappropriate.

### getAlgorithmName

    public java.lang.String getAlgorithmName()

  Description copied from interface: `Mac`
  Return the name of the algorithm the MAC implements.

  Specified by:
    `getAlgorithmName` in interface `Mac`
  Returns:
    the name of the algorithm the MAC implements.

### getMacSize

    public int getMacSize()

  Description copied from interface: `Mac`
  Return the block size for this MAC (in bytes).

  Specified by:
    `getMacSize` in interface `Mac`
  Returns:
    the block size for this MAC in bytes.

### update

    public void update(byte in)
                throws java.lang.IllegalStateException

  Description copied from interface: `Mac`
  add a single byte to the mac for processing.

  Specified by:
    `update` in interface `Mac`
  Parameters:
    `in` - the byte to be processed.
  Throws:
    `java.lang.IllegalStateException` - if the MAC is not initialised.

### update

    public void update(byte[] in,
                       int inOff,
                       int len)
                throws DataLengthException,
                       java.lang.IllegalStateException

  Specified by:
    `update` in interface `Mac`
  Parameters:
    `in` - the array containing the input.
    `inOff` - the index in the array the data begins at.
    `len` - the length of the input starting at inOff.
  Throws:
    `DataLengthException` - if there isn't enough data in in.
    `java.lang.IllegalStateException` - if the MAC is not initialised.

### doFinal

    public int doFinal(byte[] out,
                       int outOff)
                throws DataLengthException,
                       java.lang.IllegalStateException

  Description copied from interface: `Mac`
  Compute the final stage of the MAC writing the output to the out parameter.

  doFinal leaves the MAC in the same state it was after the last init.

  Specified by:
    `doFinal` in interface `Mac`
  Parameters:
    `out` - the array the MAC is to be output to.
    `outOff` - the offset into the out buffer the output is to start at.
  Throws:
    `DataLengthException` - if there isn't enough space in out.
    `java.lang.IllegalStateException` - if the MAC is not initialised.

### reset

    public void reset()

  Description copied from interface: `Mac`
  Reset the MAC. At the end of resetting the MAC should be in the in the same state it was after the last init (if there was one).

  Specified by:
    `reset` in interface `Mac`

Bouncy Castle Cryptography Library 1.45