A small collection of useful helper methods that I use in several projects.
Pull requests and/or optimization proposals are always welcome!
static T[] ConcatArrays<T>(params T[][] arrays)static T[] ConcatArrays<T>(T[] arr1, T[] arr2)static T[] SubArray<T>(T[] arr, int start, int length)static T[] SubArray<T>(T[] arr, int start)static bool ConstantTimeEquals(byte[] a, byte[] b)static byte[] IntegerToLittleEndian(int data)static byte[] Xor(byte[] data, IReadOnlyList<byte> keys)static byte[] ReadFully(Stream input)static string Escape(string argument, bool quote = false)static string ExecuteShellCommand(string filename, string arguments, int timeout = 9000)static byte[] AddPkcs7(byte[] data, int paddingLength)static byte[] RemovePkcs7(byte[] paddedByteArray)static byte[] AddZero(byte[] data, int paddingLength)static byte[] RemoveZero(byte[] paddedByteArray)static int Next()static int Next(int maxValue)static int Next(int minValue, int maxValue)static void GetBytes(byte[] data)static void GetNonZeroBytes(byte[] data)static int Next()static int Next(int maxValue)static int Next(int minValue, int maxValue)static void GetBytes(byte[] data)static int Next()static int Next(int maxValue)static int Next(int minValue, int maxValue)