Here you can find the source of xorInt64OverBytesLE(long val, byte[] data, int ofs)
public final static void xorInt64OverBytesLE(long val, byte[] data, int ofs)
//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; } }