Package es.gob.jmulticard
Class HexUtils
java.lang.Object
es.gob.jmulticard.HexUtils
Utilidades varias de tratamiento de datos binarios y hexadecimales.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
arrayEquals
(byte[] v, byte[] w) Comprueba si dos arrays de octetos son iguales.static boolean
arrayEquals
(byte[] v, int vOffset, int vLen, byte[] w, int wOffset, int wLen) Comprueba si dos arrays de octetos son iguales.static byte[]
charArrayToByteArray
(char[] inCharArray) Convierte un array de caracteres en otro de octetos.static byte[]
concatenateByteArrays
(byte[]... arrays) Concatena arrays de octetos.static short
getShort
(byte[] data, int offset) Obtiene unshort
a partir de un array de octetos.static int
getUnsignedInt
(byte[] data, int offset) Obtiene un entero sin signo (doble octeto) a partir de un array de octetos.static String
hexify
(byte[] abyte, boolean separator) Convierte un vector de octetos en una cadena de caracteres que contiene su representación hexadecimal.static byte[]
intToByteArray
(int value) Convierte un entero a un array de octetos de 4 posiciones, ordenado de izquierda a derecha.static byte[]
subArray
(byte[] src, int srcPos, int length) Devuelve una porción del array especificado.static byte[]
xor
(byte[] v, byte[] w) Realiza la operación XOR entre dos array de octetos.
-
Field Details
-
LOGGER
-
HEX_CHARS
private static final char[] HEX_CHARSEquivalencias de hexadecimal a texto por la posición del vector. Para ser usado enhexify()
.
-
-
Constructor Details
-
HexUtils
private HexUtils()Constructor privado.
-
-
Method Details
-
arrayEquals
public static boolean arrayEquals(byte[] v, byte[] w) Comprueba si dos arrays de octetos son iguales.- Parameters:
v
- Primer array de octetos.w
- Segundo array de octetos.- Returns:
true
si los arrays son iguales,false
en caso contrario.
-
arrayEquals
public static boolean arrayEquals(byte[] v, int vOffset, int vLen, byte[] w, int wOffset, int wLen) Comprueba si dos arrays de octetos son iguales.- Parameters:
v
- Primer array de octetos.vOffset
- Desplazamiento (offset) de inicio para el primer array.vLen
- Longitud de los datos en el primer array.w
- Segundo array de octetos.wOffset
- Desplazamiento (offset) de inicio para el segundo array.wLen
- Longitud de los datos en el segundo array.- Returns:
true
si los arrays son iguales en longitudes y valores comparados desde los respectivos desplazamientos,false
en caso contrario.
-
getShort
public static short getShort(byte[] data, int offset) Obtiene unshort
a partir de un array de octetos.- Parameters:
data
- Array de octetos.offset
- Desplazamiento (offset) hasta el inicio de los datos a tratar.- Returns:
- Valor
short
.
-
getUnsignedInt
public static int getUnsignedInt(byte[] data, int offset) Obtiene un entero sin signo (doble octeto) a partir de un array de octetos.- Parameters:
data
- Array de octetos. Solo se tienen en cuenta dos posiciones, y si el Array (a partir del desplazamiento) solo tiene una posición, se considera que ese único octeto es el valor sin signo del entero.offset
- Desplazamiento (offset) hasta el inicio de los datos a tratar.- Returns:
- Valor entero sin signo (2-byte unsigned int).
-
hexify
Convierte un vector de octetos en una cadena de caracteres que contiene su representación hexadecimal. Copiado directamente deopencard.core.util.HexString
.- Parameters:
abyte
- Array de octetos que deseamos representar textualmente.separator
- Indica si han de separarse o no los octetos con un guión y en líneas de 16.- Returns:
- Representación textual del vector de octetos de entrada.
-
subArray
public static byte[] subArray(byte[] src, int srcPos, int length) Devuelve una porción del array especificado.- Parameters:
src
- Array de octetos original.srcPos
- Posición de origen de la porción del array de octetos a obtener.length
- Número de octetos de la porción a obtener.- Returns:
- Una porción del array especificado.
-
xor
public static byte[] xor(byte[] v, byte[] w) Realiza la operación XOR entre dos array de octetos. El resultado se recortará para ser del tamaño del primer array recibido tomando los octetos menos significativos del resultado.- Parameters:
v
- Primer array de bytes.w
- Segundo array de bytes.- Returns:
- Resultado del XOR de los arrays de entrada.
-
intToByteArray
public static byte[] intToByteArray(int value) Convierte un entero a un array de octetos de 4 posiciones, ordenado de izquierda a derecha.- Parameters:
value
- Entero a convertir.- Returns:
- Array de octetos resultante.
-
concatenateByteArrays
public static byte[] concatenateByteArrays(byte[]... arrays) Concatena arrays de octetos.- Parameters:
arrays
- Arrays de octetos a concatenar, en el orden de concatenación.- Returns:
- Arrays concatenados.
-
charArrayToByteArray
public static byte[] charArrayToByteArray(char[] inCharArray) Convierte un array de caracteres en otro de octetos.- Parameters:
inCharArray
- El array dechar
de entrada.- Returns:
- Array de
byte
correspondiente al array dechar
de entrada.
-