update method
Implementation
SHA3 update(List<int> message) {
if (finalized) {
throw Exception(FINALIZE_ERROR);
}
var blocks = this.blocks,
byteCount = this.byteCount,
length = message.length,
blockCount = this.blockCount,
index = 0,
s = this.s,
i;
while (index < length) {
if (reset) {
reset = false;
blocks![0] = block;
for (i = 1; i < blockCount! + 1; ++i) {
blocks[i] = 0;
}
}
for (i = start; index < length && i < byteCount; ++index) {
blocks![i >> 2] |= message[index] << SHIFT[i++ & 3];
}
lastByteIndex = i;
if (i >= byteCount) {
start = i - byteCount;
block = blocks![blockCount!];
for (i = 0; i < blockCount; ++i) {
s![i] ^= blocks[i];
}
f(s!);
reset = true;
} else {
start = i;
}
}
return this;
}