// decode/encode hex string


public static String toHexString(byte[] ba) {
String hex = "";
for(int i = 0; i < ba.length; i++)
hex += zeroPad(Integer.toHexString(ba[i] & 0xFF).toUpperCase(), 2);
return hex;
}

public static byte[] fromHexString(String hex) {
ByteArrayOutputStream bas = new ByteArrayOutputStream();
for (int i = 0; i < hex.length(); i+=2) {
int b = Integer.parseInt(hex.substring(i, i + 2), 16);
bas.write(b);
}
return bas.toByteArray();
}

Read more: http://feeds.dzone.com/~r/dzone/snippets/~3/Nn-1eCK9nuE/12139