public static string Encrypt(string plainText, string passPhrase) { string base64String; byte[] numArray = StringCipher.Generate256BitsOfRandomEntropy(); byte[] numArray1 = StringCipher.Generate256BitsOfRandomEntropy(); byte[] bytes = Encoding.UTF8.GetBytes(plainText); byte[] bytes1 = (new Rfc2898DeriveBytes(passPhrase, numArray, 1000)).GetBytes(32); using (RijndaelManaged rijndaelManaged = new RijndaelManaged()) { rijndaelManaged.BlockSize = 256; rijndaelManaged.Mode = CipherMode.CBC; rijndaelManaged.Padding = PaddingMode.PKCS7; using (ICryptoTransform cryptoTransform = rijndaelManaged.CreateEncryptor(bytes1, numArray1)) { using (MemoryStream memoryStream = new MemoryStream()) { using (CryptoStream cryptoStream = new CryptoStream(memoryStream, cryptoTransform, CryptoStreamMode.Write)) { cryptoStream.Write(bytes, 0, (int)bytes.Length); cryptoStream.FlushFinalBlock(); byte[] array = numArray.Concat <byte>(numArray1).ToArray <byte>(); array = array.Concat <byte>(memoryStream.ToArray()).ToArray <byte>(); memoryStream.Close(); cryptoStream.Close(); base64String = Convert.ToBase64String(array); } } } } return(base64String); }