add method
Implementation
void add(List<int> data) {
if (_closed) throw StateError("UHasher is already closed.");
_totalLength += data.length;
int offset = 0;
if (_blockLength > 0) {
final int take = (64 - _blockLength) < data.length ? 64 - _blockLength : data.length;
_block.setRange(_blockLength, _blockLength + take, data);
_blockLength += take;
offset = take;
if (_blockLength < 64) return;
_compress(_block, 0);
_blockLength = 0;
}
final Uint8List bytes = data is Uint8List ? data : Uint8List.fromList(data);
while (data.length - offset >= 64) {
_compress(bytes, offset);
offset += 64;
}
if (offset < data.length) {
_block.setRange(0, data.length - offset, bytes, offset);
_blockLength = data.length - offset;
}
}