“密码”“MAC码”等数据由于是二进制数据,在Java中只能以byte[]形式存放,
但往往需要转化成可见字符串在通讯报文(如XML)中传递。
例如,密文:    byte[] password = {0x5A,0x08,0x00,0x7F,0x2A,0x33,0x7E,0x77};
 转化为字符串:"5A0800FFB233DEFF"
请编程实现方法byte2HexString完成这种转化:
    public String byte2HexString(byte[] b)
注:字符'A'的数值为0x41,字符'0'的数值为0x30

解决方案 »

  1.   

    public static String byte2HexString(byte[] passWords){
    String result="";
    for(byte passWord:passWords){
    String str="";
    str=Integer.toHexString(passWord);
    if(passWord<16){
    str=0+str;
    }
    result+=str;
    }
    return result.toUpperCase();
    }
      

  2.   

    1楼的输出结果为5A08007F2A337E77与你提供的结果5A0800FFB233DEFF不一致,如果你提供的只是格式参考,则1楼代码正确。如果不一致则需要你提供详细转换说明。