private static String convertToHex(byte[] data) {

        StringBuffer buffer = new StringBuffer();
        for (int i = 0; i < data.length; i++) {
            int bytehalf = (data[i] >>> 4) & 0x0F;
            int two_halfs = 0;

            do {
                if ((0 <= bytehalf) && (bytehalf <= 9))
                    buffer.append((char) ('0' + bytehalf));
                else
                    buffer.append((char) ('a' + (bytehalf - 10)));
                bytehalf = data[i] & 0x0F;
            } while (two_halfs++ < 1);
        }
        return buffer.toString();
    }