protected int hexToInt(byte[] b) {
        int f = 0, g = 0;
        char h = 0, i = 0;

        h = (char) b[0];
        i = (char) b[1];
        if (h >= 'A' && h <= 'F') {
            f = h - 'A' + 10;
        } else if (h >= '0' && h <= '9') {
            f = h - '0';
        } else {
            return -1;
        }
        if (i >= 'A' && i <= 'F') {
            g = i - 'A' + 10;
        } else if (i >= '0' && i <= '9') {
            g = i - '0';
        } else {
            return -1;
        }
        return f * 16 + g;
    }