code: public static String bytes2HexString(byte[] bytes) {
          if (bytes == null) return null;
          int len = bytes.length;
          if (len <= 0) return null;
          char[] ret = new char[len << 1];
          for (int i = 0, j = 0; i < len; i++) {
              ret[j++] = HEX_DIGITS[bytes[i] >>> 4 & 0x0f];
              ret[j++] = HEX_DIGITS[bytes[i] & 0x0f];
          }
          return new String(ret).toLowerCase();
      }
docs: byteArr转hexString
  <p>例如：</p>
  bytes2HexString(new byte[] { 0, (byte) 0xa8 }) returns 00A8
  
  @param bytes 字节数组
  @return 16进制大写字符串