|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgrado.sti.auxiliar.Datos
public class Datos
Clase que contiene utilidades para la operación con datos a nivel binario y de byte.
Field Summary | |
---|---|
static int |
PADDING_0x0n
PADDING_0x0n: Se añaden tantos 0's como sea necesario |
static int |
PADDING_0x10n
PADDING_0x10n: Se añaden tantos 0's como sea necesario, excepto el bit más significativo (MSB) que se pone a '1' |
static int |
PADDING_0x1n
PADDING_0x1n: Se añaden tantos 1's como sea necesario |
Constructor Summary | |
---|---|
Datos()
|
Method Summary | |
---|---|
byte[] |
anyadirLongitud(byte[] datos)
Método que añade la longitud de los datos al final de los mismos (MSB). |
byte[] |
anyadirPadding(byte[] datos,
int tamanyoBloque,
int tipoPadding)
Método que añade el tipo de padding indicado a los datos al final de los mismos (MSB), siempre y cuando la longitud de éstos no sea múltiplo del tamaño de bloque pasado como argumento, en cuyo caso se mantiene igual. |
java.lang.String |
bytesToHex(byte[] in)
Método que formatea un array de bytes en hexadecimal. |
byte[] |
ejecutarXOR(byte[] a,
byte[] b)
Método que aplica un XOR (OR exclusivo) entre 2 arrays, a nivel de byte. |
byte[] |
obtenerBloque(byte[] datos,
int inicio,
int fin)
Método que permite obtener un segmento del bloque de datos indicado. |
byte[] |
rotarIzquierdaBit(byte[] a)
Método que rota un bit (desplazamiento circular) en un array de bytes. |
java.lang.String |
stringToHex(java.lang.String base)
Método que formatea un string en hexadecimal. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int PADDING_0x0n
public static final int PADDING_0x1n
public static final int PADDING_0x10n
Constructor Detail |
---|
public Datos()
Method Detail |
---|
public byte[] anyadirPadding(byte[] datos, int tamanyoBloque, int tipoPadding) throws java.lang.Exception
Este método no modifica el array original, sino que devuelve uno nuevo.
datos
- Datos a los que añadir el paddingtamanyoBloque
- Tamaño de bloque de referencia para el paddingtipoPadding
- Tipo de padding a añadir. Debe estar soportado (PADDING_0x0n, PADDING_0x1n, PADDING_0x10n). En caso contrario se tomará
PADDING_0x0n como tipo de padding
java.lang.Exception
- En caso de errorpublic byte[] anyadirLongitud(byte[] datos) throws java.lang.Exception
Este método no modifica el array original, sino que devuelve uno nuevo.
datos
- Datos a los cuales se debe incorporar su longitud
java.lang.Exception
public byte[] rotarIzquierdaBit(byte[] a) throws java.lang.Exception
a
- Array de bytes
java.lang.Exception
public byte[] ejecutarXOR(byte[] a, byte[] b) throws java.lang.Exception
Este método no modifica el array original, sino que devuelve uno nuevo.
a
- Primer arrrayb
- Segundo array
java.lang.Exception
- En caso de errorpublic byte[] obtenerBloque(byte[] datos, int inicio, int fin) throws java.lang.Exception
Este método no modifica el array original, sino que devuelve uno nuevo.
datos
- Array de bytes del que se quiere obtener un bloque concreto.inicio
- Índice de inicio del segmento a obtener (debe ser menor que la longitud de los datos)fin
- Índice del byte final del segmento a obtener (debe ser, como mucho, la longitud de los datos)
java.lang.Exception
- En caso que los índices indicados no sean correctos respecto a los datospublic java.lang.String stringToHex(java.lang.String base)
base
- String de entrada
public java.lang.String bytesToHex(byte[] in)
in
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |