Here you can find the source of bytesToHex(byte[] bytes)
public static String bytesToHex(byte[] bytes)
//package com.java2s; public class Main { final protected static char[] hexArray = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; public static String bytesToHex(byte[] bytes) { if (bytes == null) return "0000000000000000000000000000000000000000"; char[] hexChars = new char[bytes.length * 2]; int v;//from ww w . j a v a 2s . c om for (int j = 0; j < bytes.length; j++) { v = bytes[j] & 0xFF; hexChars[j * 2] = hexArray[v >>> 4]; hexChars[j * 2 + 1] = hexArray[v & 0x0F]; } return new String(hexChars); } }