Class HexUtils

java.lang.Object
es.gob.jmulticard.HexUtils

public final class HexUtils extends Object
Utilidades varias de tratamiento de datos binarios y hexadecimales.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final char[]
    Equivalencias de hexadecimal a texto por la posición del vector.
    private static final Logger
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    Constructor privado.
  • Method Summary

    Modifier and Type
    Method
    Description
    static 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 un short 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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOGGER

      private static final Logger LOGGER
    • HEX_CHARS

      private static final char[] HEX_CHARS
      Equivalencias de hexadecimal a texto por la posición del vector. Para ser usado en hexify().
  • 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 un short 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

      public static String hexify(byte[] abyte, boolean separator)
      Convierte un vector de octetos en una cadena de caracteres que contiene su representación hexadecimal. Copiado directamente de opencard.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 de char de entrada.
      Returns:
      Array de byte correspondiente al array de char de entrada.