public int processByte(byte in,byte[] out,int outOff) throws DataLengthException, IllegalStateException {
  int resultLen=0;
  if (bufOff == buf.length) {
    resultLen=cipher.processBlock(buf,0,out,outOff);
    System.arraycopy(buf,blockSize,buf,0,blockSize);
    bufOff=blockSize;
  }
  buf[bufOff++]=in;
  return resultLen;
}

public int processByte ( byte in , byte [ ] out , int outOff ) throws DataLengthException , IllegalStateException { int resultLen = 0 ; if ( bufOff == buf . length ) { resultLen = cipher . processBlock ( buf , 0 , out , outOff ) ; System . arraycopy ( buf , blockSize , buf , 0 , blockSize ) ; bufOff = blockSize ; } buf [ bufOff ++ ] = in ; return resultLen ; }
process a single byte , producing an output block if necessary .
