using System.Security.Cryptography;
public static void Main()
var encryptedText = Encrypt("Test string", "test");
Console.WriteLine("Encrypted Text: " + encryptedText);
var decryptedText = Decrypt(encryptedText, "test");
Console.WriteLine("Decrypted Text: " + decryptedText);
public static string Encrypt(string plainText, string passPhrase)
byte[] initVectorBytes = Encoding.ASCII.GetBytes("pemgail9uzpgzl88");
byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText);
PasswordDeriveBytes password = new PasswordDeriveBytes
byte[] keyBytes = password.GetBytes(256 / 8);
RijndaelManaged symmetricKey = new RijndaelManaged();
symmetricKey.Mode = CipherMode.CBC;
symmetricKey.Padding = PaddingMode.PKCS7;
ICryptoTransform encryptor = symmetricKey.CreateEncryptor
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream
cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length);
cryptoStream.FlushFinalBlock();
byte[] cipherTextBytes = memoryStream.ToArray();
string cipherText = Convert.ToBase64String(cipherTextBytes);
public static string Decrypt(string cipherText, string passPhrase)
byte[] initVectorBytes = Encoding.ASCII.GetBytes("pemgail9uzpgzl88");
byte[] cipherTextBytes = Convert.FromBase64String(cipherText);
PasswordDeriveBytes password = new PasswordDeriveBytes
byte[] keyBytes = password.GetBytes(256 / 8);
RijndaelManaged symmetricKey = new RijndaelManaged();
symmetricKey.Mode = CipherMode.CBC;
symmetricKey.Padding = PaddingMode.PKCS7;
ICryptoTransform decryptor = symmetricKey.CreateDecryptor
MemoryStream memoryStream = new MemoryStream(cipherTextBytes);
CryptoStream cryptoStream = new CryptoStream
byte[] plainTextBytes = new byte[cipherTextBytes.Length];
int decryptedByteCount = cryptoStream.Read
string plainText = Encoding.UTF8.GetString