private static byte[] ResizeBytesArray(byte[] bytes, int newSize)
{
byte[] newBytes = new byte[newSize];
if (bytes.Length <= newSize) {
bytes.CopyTo(newBytes, 0);
}
else {
for (int i = 0, p = 0; i < bytes.Length; i++, p = (p + 1) % newBytes.Length) {
newBytes[p] ^= bytes[i];
}
}
return newBytes;
}