方法一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
   * 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();
  }

方法二:

1
2
3
4
5
6
7
8
9
10
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();
}