Here you can find the source of bytesToHex(byte[] bytes)
public static String bytesToHex(byte[] bytes)
//package com.java2s; public class Main { /**/*from w ww. j a va 2s .c om*/ * Takes the provided byte array and converts it into a hexidecimal string * with two characters per byte. */ public static String bytesToHex(byte[] bytes) { return bytesToHex(bytes, false); } /** * Takes the provided byte array and converts it into a hexidecimal string * with two characters per byte. * * @param withSpaces * if true, this will put a space character between each hex-rendered * byte, for readability. */ public static String bytesToHex(byte[] bytes, boolean withSpaces) { StringBuilder sb = new StringBuilder(); for (byte hashByte : bytes) { int intVal = 0xff & hashByte; if (intVal < 0x10) { sb.append('0'); } sb.append(Integer.toHexString(intVal)); if (withSpaces) { sb.append(' '); } } return sb.toString(); } }