### Question:
CbcDecryptor implements BytesDecryptor { IvParameterSpec iv(byte[] input, int inputOffset) { return new IvParameterSpec(input, inputOffset, blockSize); } CbcDecryptor(Cipher cipher); @Override byte[] decrypt(byte[] input, int inputOffset, Key key);  }### Answer:
@Test public void testIv() { CbcDecryptor decryptor = new CbcDecryptor(cipher); byte[] input = { 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }; byte[] ivBytes = { 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }; IvParameterSpec iv = decryptor.iv(input, 5); assertArrayEquals(ivBytes, iv.getIV()); }