Util.java
package se.sics.ace.oscore.rs;
public class Util {
/**
* Convert a hexadecimal string into a byte array
*
* @param str the hexadecimal string to be converted into a byte array
* @return the byte array resulting from the conversion
*
*/
public static byte[] hexStringToByteArray(final String str) {
int len = str.length();
byte[] data = new byte[len / 2];
// Big-endian
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(str.charAt(i), 16) << 4) +
Character.digit(str.charAt(i+1), 16));
data[i / 2] = (byte) (data[i / 2] & 0xFF);
}
// Little-endian
/*
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(str.charAt(len - 2 - i), 16) << 4) +
Character.digit(str.charAt(len - 1 - i), 16));
data[i / 2] = (byte) (data[i / 2] & 0xFF);
}
*/
return data;
}
}