processBlock method
Process a block of data.
Implementation
@override
int processBlock(Uint8List inp, int inpOff, Uint8List out, int outOff) {
if (_forEncryption) {
final block = Uint8List(blockSize);
for (int i = 0; i < blockSize; i++) {
block[i] = inp[inpOff + i] ^ _cbcV[i];
}
_cipher.processBlock(block, 0, out, outOff);
_cbcV = out.sublist(outOff, outOff + blockSize);
return blockSize;
} else {
final temp = Uint8List(blockSize);
_cipher.processBlock(inp, inpOff, temp, 0);
for (int i = 0; i < blockSize; i++) {
out[outOff + i] = temp[i] ^ _cbcV[i];
}
_cbcV = inp.sublist(inpOff, inpOff + blockSize);
return blockSize;
}
}