public static byte[] decrypt(byte[] data, byte[] key)
		{
			if (key == null || data == null || key.Length != 32)
			{
				throw new Exception("Invalid arguments!");
			}
			CryptoEngineAES cryptoEngineAES = new CryptoEngineAES(CryptoEngineAES.KeySize.Bits256, key);
			byte[] array = new byte[data.Length];
			byte[] array2 = new byte[16];
			byte[] array3 = new byte[16];
			for (int i = 0; i < data.Length; i += 16)
			{
				Array.Copy(data, i, array2, 0, 16);
				cryptoEngineAES.InvCipher(array2, array3);
				Array.Copy(array3, 0, array, i, 16);
			}
			return array;
		}
		public static byte[] decrypt(byte[] data, byte[] key)
		{
			if (key == null || data == null || key.Length != 32)
			{
				throw new Exception("Invalid arguments!");
			}
			CryptoEngineAES _aesFunct = new CryptoEngineAES(CryptoEngineAES.KeySize.Bits256, key);
			byte[] destinationArray = new byte[data.Length];
			byte[] buffer2 = new byte[16];
			byte[] output = new byte[16];
			for (int i = 0; i < data.Length; i += 16)
			{
				Array.Copy(data, i, buffer2, 0, 16);
				_aesFunct.InvCipher(buffer2, output);
				Array.Copy(output, 0, destinationArray, i, 16);
			}
			return destinationArray;
		}