using System.Security.Cryptography;
using Microsoft.Extensions.Options;
public static void Main()
var plainText = "10bab7f7-1057-4234-824a-1f1988bbdc57";
var salt = Encoding.ASCII.GetBytes("hgt!16kl");
var passPhrase = "gsKnGZ041HLL4IM8";
var plainTextBytes = Encoding.UTF8.GetBytes(plainText);
var initVectorBytes = Encoding.ASCII.GetBytes("jkE49230Tf093b42");
using (var password = new Rfc2898DeriveBytes(passPhrase, salt))
var keyBytes = password.GetBytes(keySize / 8);
using (var symmetricKey = Aes.Create())
symmetricKey.Mode = CipherMode.CBC;
using (var encryptor = symmetricKey.CreateEncryptor(keyBytes, initVectorBytes))
using (var memoryStream = new MemoryStream())
using (var cryptoStream = new CryptoStream(memoryStream, encryptor, CryptoStreamMode.Write))
cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length);
cryptoStream.FlushFinalBlock();
var cipherTextBytes = memoryStream.ToArray();
Console.WriteLine($"{plainText} is encoded. Find the value below");
Console.WriteLine(Convert.ToBase64String(cipherTextBytes));