using System.Security.Cryptography;
public static string AesDecrypt(string value, string key, string iv = null, int keySize = 128, CipherMode Mode = CipherMode.CBC)
RijndaelManaged rj = new RijndaelManaged();
UTF8Encoding encoding = new UTF8Encoding();
byte[] message = Convert.FromBase64String(value);
byte[] plainTextBytes = new byte[message.Length];
byte[] keyBytes = encoding.GetBytes(key);
if (String.IsNullOrEmpty(iv))
byte[] ivBytes = encoding.GetBytes(iv);
rj.Padding = PaddingMode.PKCS7;
using (ICryptoTransform Encryptor = rj.CreateDecryptor(keyBytes, rj.IV))
using (MemoryStream MemStream = new MemoryStream(message))
using (CryptoStream CryptoStream = new CryptoStream(MemStream, Encryptor, CryptoStreamMode.Read))
byteCount = CryptoStream.Read(plainTextBytes, 0, plainTextBytes.Length);
return encoding.GetString(plainTextBytes, 0, byteCount);
public static void Main()
Console.WriteLine("running example...");
string UserID = "5140C8FBECB4E45AC0E1C582662C49169F7B53F171D244C4DA346D864D382B2F";
string key = "ggC2H19lkVbQDfakxcrtNMQdd0FloLoo";
string iv = "gqLOHUioQ0QjhuvI";
string decryptedUserId = AesDecrypt(UserID, key, iv);
Console.WriteLine(decryptedUserId);