I would like to know how to properly encrypt in C#, that Laravel (PHP) can decrypt with it's Encryption?
This is my C# encryption:
    private static readonly Encoding encoding = Encoding.UTF8;
    public static void Main(string[] args)
    {
        string key = "ysWZKXsnB1aS38Qzj5cza01wd3wT1234";
        string text = "Here is some data to encrypt!";
        string encrypted = encrypt(text, key);
        // Display the original data and the encrypted data.
        Console.WriteLine("Original: {0}", text);
        Console.WriteLine("Key: {0}", key);
        Console.WriteLine("Encrypted: {0}", encrypted);
    }
    private static string encrypt(string plainText, string key)
    {
        RijndaelManaged aes = new RijndaelManaged();
        aes.KeySize = 256;
        aes.BlockSize = 128;
        aes.Padding = PaddingMode.PKCS7;
        aes.Mode = CipherMode.CBC;
        aes.Key = encoding.GetBytes(key);
        aes.GenerateIV();
        ICryptoTransform AESEncrypt = aes.CreateEncryptor(aes.Key, aes.IV);
        byte[] buffer = Encoding.ASCII.GetBytes(phpSerialize(plainText));
        String encryptedText = Convert.ToBase64String(Encoding.Default.GetBytes(Encoding.Default.GetString(AESEncrypt.TransformFinalBlock(buffer, 0, buffer.Length))));
        String mac = "";
        mac = BitConverter.ToString(hmacSHA256(Convert.ToBase64String(aes.IV) + encryptedText, key)).Replace("-", "").ToLower();
        var keyValues = new Dictionary<string, object>
        {
            { "iv", Convert.ToBase64String(aes.IV) },
            { "value", encryptedText },
            { "mac", mac },
        };
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        return Convert.ToBase64String(Encoding.ASCII.GetBytes(serializer.Serialize(keyValues)));
    }
The code successfully encrypts, but Laravel returns "Could not decrypt data." when trying to decrypt the code output here.