martes, 20 de marzo de 2012

Función XOR

A menudo los métodos de criptografía emplean en sus cálculos la función XOR. Es decir, si nosotros realizamos un XOR de 111 con 101 obtendremos 010. A menudo se nos pide realizar esta operación en clase. Uno de los lenguajes en los que es probable que se nos pida programar este método es en Java.

Yo proporcionaré la implementación de este método para bloques de Bytes, cuyo resultado será otro bloque de bytes. El método en Java para la función XOR es el siguiente:


public byte [] funcionXOR (byte [] bloqueB1, byte [] bloqueB2){
  byte [] bloqueResult = new byte [bloqueB1.length];
  if(bloqueB1.length == bloqueB2.length){
   for(int i=0;i < bloqueResult.length;i++){
    bloqueResult[i]=(byte)( bloqueB1[i] ^ bloqueB2[i]);
   }
  }
  return bloqueResult;
 }

1 comentario: