CMacWithIV (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.crypto.macs

## Class CMacWithIV

- java.lang.Object
- - org.bouncycastle.crypto.macs.CMac
  - - org.bouncycastle.crypto.macs.CMacWithIV

- All Implemented Interfaces:
    Mac

      public class CMacWithIV
      extends CMac

  A non-NIST variant which allows passing of an IV to the underlying CBC cipher.

  Note: there isn't really a good reason to use an IV here, use the regular CMac where possible.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CMacWithIV(BlockCipher cipher)`
    `CMacWithIV(BlockCipher cipher, int macSizeInBits)`

  - ### Method Summary

    - ### Methods inherited from class org.bouncycastle.crypto.macs.CMac

      `doFinal, getAlgorithmName, getMacSize, init, reset, update, update`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CMacWithIV

          public CMacWithIV(BlockCipher cipher)

    - #### CMacWithIV

          public CMacWithIV(BlockCipher cipher,
                            int macSizeInBits)