a += (block[i]&0xff) + char_offset;
a += block[i] + char_offset;
   public void check(byte[] buf, int off, int len) {      block = new byte[len];      System.arraycopy(buf, off, block, 0, len);      reset();      l = block.length;      int i;      for (i = 0; i < block.length - 4; i += 4) {         b += 4 * (a+(block[i]&0xff)) + 3 * (block[i+1]&0xff) +              2 * (block[i+2]&0xff) + (block[i+3]&0xff) + 10 * char_offset;         a += (block[i]&0xff) + (block[i+1]&0xff) + (block[i+2]&0xff)              + (block[i+3]&0xff) + 4 * char_offset;      }      for (; i < block.length; i++) {         a += (block[i]&0xff) + char_offset;         b += a;      }      new_block = new byte[block.length];      new_index = 0;   }