private String doConvertToHex(byte[] mSerial) {
        StringBuilder tBuilder = new StringBuilder();
        for (int i = 0; i < mSerial.length; i++) {
            byte b = mSerial[i];
            if (b < 0) {
                tBuilder.append(Integer.toHexString(b).toUpperCase().substring(Integer.toHexString(b).length() - 2, Integer.toHexString(b).length()));
            } else if (b < 16) {
                tBuilder.append('0').append(Integer.toHexString(b).toUpperCase());
            } else {
                tBuilder.append(Integer.toHexString(b).toUpperCase());
            }
        }
        return tBuilder.toString();
    }