public static byte[] decode(byte[] array) throws IllegalArgumentException {
        String s = CodecSupport.toString(array);
        return decode(s);
    }
Converts an array of character bytes representing hexadecimal values into an
array of bytes of those same values. The returned array will be half the
length of the passed array, as it takes two characters to represent any
given byte. An exception is thrown if the passed char array has an odd
number of elements.

@param array An array of character bytes containing hexadecimal digits
@return A byte array containing binary data decoded from
the supplied byte array (representing characters).
@throws IllegalArgumentException Thrown if an odd number of characters is supplied
                                 to this function
@see #decode(char[])
lang/src/main/java/org/apache/shiro/lang/codec/Hex.java