question: void engineUpdate ( byte [ ] data , int offset , int length ) { count += length ; int datalen = DATA_LENGTH ; int remainder ; while ( length >= ( remainder = datalen - buffered ) ) { System . arraycopy ( data , offset , buffer , buffered , remainder ) ; engineTransform ( buffer ) ; length -= remainder ; offset += remainder ; buffered = 0 ; } if ( length > 0 ) { System . arraycopy ( data , offset , buffer , buffered , length ) ; buffered += length ; } }
target:  Updates the message digest with new data.