JAVA中将byte[]数组转成16进制字符串

方法一:

 /**
    * byte数组转化为16进制字符串
    * @param bytes
    * @return
    */
    public static String byteToHexString(byte[] bytes) {
        StringBuffer sb = new StringBuffer();
	for (int i = 0; i < bytes.length; i++) {
	  String strHex=Integer.toHexString(bytes[i]);
	      if(strHex.length() > 3) {
	        sb.append(strHex.substring(6));
	   } else {
	      if(strHex.length() < 2) {
	        sb.append("0" + strHex);
	      } else {
	        sb.append(strHex);
	      }
	   }
	}
	return sb.toString();
   }   

方法二:

private static final char HEX_DIGITS[] = "0123456789abcdef".toCharArray();

protected static String toHexString(byte[] b) {
    StringBuilder sb = new StringBuilder(b.length * 2);
    for (int i = 0; i < b.length; i++) {
	 sb.append(HEX_DIGITS[(b[i] & 0xf0) >>> 4]);
         sb.append(HEX_DIGITS[b[i] & 0x0f]);
   }
   return sb.toString();
}