Det du får tillbaka är binärdata, och representerar inte en sträng på något sätt. Jag vet inte varför du vill göra om det till en sträng, så det är svårt att säga om du vill göra om det till en hex-sträng, eller base64-sträng. Men här är ett exempel på hur du gör om från byte[] till hex-sträng och tillbaka:
Code:
public class HexExample {
public static void main(String arg[]) {
byte[] data = new byte[] { 0, 0, 1, 0, 1, 5, 121, 67, -52, 0, 0 };
String hexString = byteArrayToHexString(data);
byte[] tmp = hexStringToByteArray(hexString);
System.out.println("Are they equal: " + Arrays.equals(data, tmp));
}
public static String byteArrayToHexString(byte[] b) {
StringBuilder sb = new StringBuilder(b.length * 2);
for (int i = 0; i < b.length; i++) {
int v = b[i] & 0xff;
if (v < 16) {
sb.append('0');
}
sb.append(Integer.toHexString(v));
}
return sb.toString().toUpperCase();
}
public static byte[] hexStringToByteArray(String s) {
byte[] b = new byte[s.length() / 2];
for (int i = 0; i < b.length; i++) {
int index = i * 2;
int v = Integer.parseInt(s.substring(index, index + 2), 16);
b[i] = (byte) v;
}
return b;
}
}