code: private byte[] xor(final byte[] input) {
          final byte[] output = new byte[input.length];
          if (this.secret.length == 0) {
              System.arraycopy(input, 0, output, 0, input.length);
          } else {
              int spos = 0;
              for (int pos = 0; pos < input.length; ++pos) {
                  output[pos] = (byte) (input[pos] ^ this.secret[spos]);
                  ++spos;
                  if (spos >= this.secret.length) {
                      spos = 0;
                  }
              }
          }
          return output;
      }
docs: XOR array of bytes.
  @param input The input to XOR
  @return Encrypted output