code: public final static String toHex(byte [] b) {
  	char[] buf = new char[b.length * 2];
  	int i, j, k;
  
  	i = j = 0;
  	for (; i < b.length; i++) {
  	    k = b[i];
  	    buf[j++] = hex[(k >>> 4) & 0x0F];
  	    buf[j++] = hex[ k & 0x0F];
  	}
  	return new String(buf);
      }
docs: Return a hexadecimal representation of a byte array
  @param b a byte array
  @return String containing the hexadecimal representation