public static String getHex(byte[] raw) {
        if (raw == null) {
            return null;
        }
        final StringBuilder hex = new StringBuilder(2 * raw.length);
        for (final byte b : raw) {
            hex.append(HEXES.charAt((b & 0xF0) >> 4)).append(HEXES.charAt(b & 0x0F));
        }
        return hex.toString();
    }
@Test
    public void testGetHex() {
        byte[] raw = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
        //String expResult = "000102030405060708090A0B0C0D0E0F10";
        String expResult = "000102030405060708090a0b0c0d0e0f10";
        String result = Checksum.getHex(raw);
        assertEquals(expResult, result);
    }