Here you can find the source of toHexString(byte[] bytes)
public static String toHexString(byte[] bytes)
//package com.java2s; public class Main { private static final char[] HEX = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; public static String toHexString(byte[] bytes) { int length = bytes.length; StringBuffer sb = new StringBuffer(length * 2); int x = 0; int n1 = 0, n2 = 0; for (int i = 0; i < length; i++) { if (bytes[i] >= 0) x = bytes[i];/* w w w . jav a 2 s . co m*/ else x = 256 + bytes[i]; n1 = x >> 4; n2 = x & 0x0f; sb = sb.append(HEX[n1]); sb = sb.append(HEX[n2]); } return sb.toString(); } }