AcManager.PackedHelper.Xor C# (CSharp) Method

Xor() private static method

private static Xor ( byte data, byte key ) : void
data byte
key byte
return void
        private static unsafe void Xor(byte[] data, byte[] key) {
            int i, k;
            fixed (byte* bd = data, bk = key) {
                ulong* ld = (ulong*)bd, lk = (ulong*)bk;
                int td = data.Length / 8, tk = key.Length / 8;
                for (i = 0, k = 0; i < td; i++, k++) {
                    ld[i] ^= lk[k == tk ? (k = 0) : k];
                }
            }

            for (i *= 8, k *= 8; i < data.Length; i++, k++) {
                if (k == key.Length) k = 0;
                data[i] ^= key[k];
            }
        }
#else