public static string DecryptAes(string encrypted, byte[] aesKey)
{
var decoded = Convert.FromBase64String(encrypted);
var iv = new byte[IVLength];
Buffer.BlockCopy(decoded, 0, iv, 0, iv.Length);
var encryptedData = new byte[decoded.Length - iv.Length];
Buffer.BlockCopy(decoded, iv.Length, encryptedData, 0, encryptedData.Length);
var decryptor = new AesManaged {KeySize = 256, BlockSize = 128}.CreateDecryptor(aesKey, iv);
var decryptedBytes = decryptor.TransformFinalBlock(encryptedData, 0, encryptedData.Length);
return new UTF8Encoding().GetString(decryptedBytes, 0, decryptedBytes.Length);
}