private void Generate(byte[] Output, int Size) { int offset = 0; ulong X; int len = SIZE64; while (offset < Size) { if (_isShift1024) { X = Shift1024(); } else { X = Shift128(); } if (Size - offset < len) { len = Size - offset; } Buffer.BlockCopy(IntUtils.ULongToBytes(X), 0, Output, offset, len); offset += len; } }