encryptCbcNoPadding method

Uint8List encryptCbcNoPadding(
  1. Uint8List data,
  2. Uint8List iv
)

Implementation

Uint8List encryptCbcNoPadding(Uint8List data, Uint8List iv) {
  final int blocks = data.length ~/ 16;
  final Uint8List out = Uint8List(blocks * 16);
  final Uint8List previous = Uint8List.fromList(iv);
  for (int block = 0; block < blocks; block++) {
    final Uint8List state = Uint8List(16);
    for (int i = 0; i < 16; i++) {
      state[i] = data[block * 16 + i] ^ previous[i];
    }
    _encryptBlock(state);
    out.setAll(block * 16, state);
    previous.setAll(0, state);
  }
  return out;
}