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;
  }
}

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 ; } }
updates the message digest with new data .
