提供两种方式

第一种  自行转换

/**
* byte[] 转16进制字符串
* @param b
* @return
*/
public static String bytes_String16(byte[] b) {
    char[] _16 = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    StringBuilder sb = new StringBuilder();
	for(int i = 0 ; i<b.length;i++) {
	    sb.append(_16[b[i]>>4&0xf])
        .append(_16[b[i]&0xf]);
    }
    return sb.toString();
}

第二种  采用javaAPI

public String bytes_String16(byte[] b) {
    StringBuilder sb = new StringBuilder();
    for(int i=0;i<b.length;i++) {
        sb.append(String.format("%02x", b[i]));
    }
    return sb.toString();
}