<PackageReference Include="BouncyCastle.Cryptography" Version="2.6.0" />

Org.BouncyCastle.Utilities.Arrays

public static class Arrays
General array utilities.
namespace Org.BouncyCastle.Utilities { public static class Arrays { public static readonly byte[] EmptyBytes; public static readonly int[] EmptyInts; public static bool AreAllZeroes(byte[] buf, int off, int len); public static bool AreEqual(bool[] a, bool[] b); public static bool AreEqual(char[] a, char[] b); public static bool AreEqual(byte[] a, byte[] b); public static bool AreEqual(byte[] a, int aFromIndex, int aToIndex, byte[] b, int bFromIndex, int bToIndex); public static bool AreEqual(ulong[] a, int aFromIndex, int aToIndex, ulong[] b, int bFromIndex, int bToIndex); public static bool AreEqual(object[] a, object[] b); public static bool AreEqual(object[] a, int aFromIndex, int aToIndex, object[] b, int bFromIndex, int bToIndex); public static bool ConstantTimeAreEqual(byte[] a, byte[] b); public static bool ConstantTimeAreEqual(int len, byte[] a, int aOff, byte[] b, int bOff); public static bool FixedTimeEquals(byte[] a, byte[] b); public static bool FixedTimeEquals(int len, byte[] a, int aOff, byte[] b, int bOff); public static bool AreEqual(int[] a, int[] b); public static bool AreEqual(uint[] a, uint[] b); public static bool AreEqual(long[] a, long[] b); public static bool AreEqual(ulong[] a, ulong[] b); public static string ToString(object[] a); public static int GetHashCode(byte[] data); public static int GetHashCode(byte[] data, int off, int len); public static int GetHashCode(int[] data); public static int GetHashCode(ushort[] data); public static int GetHashCode(int[] data, int off, int len); public static int GetHashCode(uint[] data); public static int GetHashCode(uint[] data, int off, int len); public static int GetHashCode(ulong[] data); public static int GetHashCode(ulong[] data, int off, int len); public static int GetHashCode(object[] data); public static int GetHashCode(object[] data, int off, int len); public static bool[] Clone(bool[] data); public static byte[] Clone(byte[] data); public static short[] Clone(short[] data); public static ushort[] Clone(ushort[] data); public static int[] Clone(int[] data); public static uint[] Clone(uint[] data); public static long[] Clone(long[] data); public static ulong[] Clone(ulong[] data); public static byte[] Clone(byte[] data, byte[] existing); public static ulong[] Clone(ulong[] data, ulong[] existing); public static bool Contains(byte[] a, byte n); public static bool Contains(short[] a, short n); public static bool Contains(int[] a, int n); public static void Fill(byte[] buf, byte b); public static void Fill(ulong[] buf, ulong b); public static void Fill(byte[] buf, int from, int to, byte b); public static void Fill<T>(T[] ts, T t); public static void Fill<T>(T[] ts, int from, int to, T t); public static byte[] CopyOf(byte[] data, int newLength); public static char[] CopyOf(char[] data, int newLength); public static int[] CopyOf(int[] data, int newLength); public static uint[] CopyOf(uint[] data, int newLength); public static long[] CopyOf(long[] data, int newLength); public static BigInteger[] CopyOf(BigInteger[] data, int newLength); public static byte[] CopyOfRange(byte[] data, int from, int to); public static int[] CopyOfRange(int[] data, int from, int to); public static long[] CopyOfRange(long[] data, int from, int to); public static BigInteger[] CopyOfRange(BigInteger[] data, int from, int to); public static byte[] Append(byte[] a, byte b); public static short[] Append(short[] a, short b); public static int[] Append(int[] a, int b); public static byte[] Concatenate(byte[] a, byte[] b); public static ushort[] Concatenate(ushort[] a, ushort[] b); public static byte[] ConcatenateAll(params byte[][] vs); public static int[] Concatenate(int[] a, int[] b); public static uint[] Concatenate(uint[] a, uint[] b); public static byte[] Prepend(byte[] a, byte b); public static short[] Prepend(short[] a, short b); public static int[] Prepend(int[] a, int b); public static T[] Prepend<T>(T[] a, T b); public static byte[] Reverse(byte[] a); public static int[] Reverse(int[] a); public static T[] ReverseInPlace<T>(T[] array); public static void Clear(byte[] data); public static void Clear(int[] data); public static bool IsNullOrContainsNull(object[] array); public static bool IsNullOrEmpty(byte[] array); public static bool IsNullOrEmpty(object[] array); public static void ValidateBuffer<T>(T[] buf); public static void ValidateRange<T>(T[] buf, int from, int to); public static void ValidateSegment<T>(T[] buf, int off, int len); } }