Java xor xorInt64OverBytesLE(long val, byte[] data, int ofs)

Here you can find the source of xorInt64OverBytesLE(long val, byte[] data, int ofs)

Description

xor Int Over Bytes LE

License

Open Source License

Declaration

public final static void xorInt64OverBytesLE(long val, byte[] data, int ofs) 

Method Source Code

//package com.java2s;
/*//from  www.  ja  v  a2s. c o m
TruPax  Copyright (C) 2015  CODERSLAGOON
    
TruPax is free software: you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
    
TruPax 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 General Public License for more details.
You should have received a copy of the GNU General Public License along with
TruPax. If not, see http://www.gnu.org/licenses/.
    
*/

public class Main {
    public final static void xorInt64OverBytesLE(long val, byte[] data, int ofs) {
        // optimized for 32bit

        int tmp = (int) val;
        data[ofs] ^= tmp;
        data[ofs + 1] ^= tmp >>> 8;
        data[ofs + 2] ^= tmp >>> 16;
        data[ofs + 3] ^= tmp >>> 24;

        tmp = (int) (val >>> 32);
        data[ofs + 4] ^= tmp;
        data[ofs + 5] ^= tmp >>> 8;
        data[ofs + 6] ^= tmp >>> 16;
        data[ofs + 7] ^= tmp >>> 24;
    }
}

Related

  1. xor(String key, String input)
  2. xor(T l1, T l2)
  3. xor32(byte[] a, short aOffset, byte[] b, short bOffset, byte[] result, short offset)
  4. xorFolding(final long hash, final int shift)
  5. xorInPlace(byte[] source, int sourceOffset, byte[] destination, int destinationOffset, int size)
  6. XORInto(byte[] dest, byte[] src)
  7. xorLong(byte[] aBuffer, int aOffset, long aValue)
  8. xorMV(byte[] i_Value)
  9. xorOperation(String r1, String r2)