Java xor xor(byte[] op1, byte[] op2)

Here you can find the source of xor(byte[] op1, byte[] op2)

Description

Bitwise XOR between corresponding bytes

License

Open Source License

Parameter

Parameter Description
op1 byteArray1
op2 byteArray2

Return

an array of length = the smallest between op1 and op2

Declaration

public static byte[] xor(byte[] op1, byte[] op2) 

Method Source Code

//package com.java2s;
/*/* w  w  w. ja  v a2  s .co m*/
 * jPOS Project [http://jpos.org]
 * Copyright (C) 2000-2019 jPOS Software SRL
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

public class Main {
    /**
     * Bitwise XOR between corresponding bytes
     * @param op1 byteArray1
     * @param op2 byteArray2
     * @return an array of length = the smallest between op1 and op2
     */
    public static byte[] xor(byte[] op1, byte[] op2) {
        byte[] result;
        // Use the smallest array
        if (op2.length > op1.length) {
            result = new byte[op1.length];
        } else {
            result = new byte[op2.length];
        }
        for (int i = 0; i < result.length; i++) {
            result[i] = (byte) (op1[i] ^ op2[i]);
        }
        return result;
    }
}

Related

  1. xor(byte[] bytes, int offset, byte[] bytesToMix, int mixOffset, int len)
  2. xor(byte[] bytes1, byte[] bytes2)
  3. xor(byte[] data, byte[] xork)
  4. xor(byte[] first, byte[] second)
  5. xor(byte[] firstBytes, int firstOffset, byte[] secondBytes, int secondOffset, byte[] outBytes, int outOffset, int size)
  6. xor(byte[] source, byte[] key)
  7. xor(byte[] x, byte[] y)
  8. xor(byte[]... bytesArr)
  9. xor(char[] a, char[] b)