SymmetricAlgorithm.CreateEncryptor Method
Namespace: System.Security.Cryptography
Assembly: mscorlib (in mscorlib.dll)
If the current Key property is null, the GenerateKey method is called to create a new random Key. If the current IV property is null, the GenerateIV method is called to create a new random IV.
Use the CreateDecryptor overload with the same signature to decrypt the result of this method.
The following example encrypts a string using the transform object returned from the CreateEncryptor method.
using System; using System.Security.Cryptography; using System.Text; class EncryptorExample { private static string quote = "Things may come to those who wait, but only the " + "things left by those who hustle. -- Abraham Lincoln"; public static void Main() { AesCryptoServiceProvider aesCSP = new AesCryptoServiceProvider(); aesCSP.GenerateKey(); aesCSP.GenerateIV(); byte[] encQuote = EncryptString(aesCSP, quote); Console.WriteLine("Encrypted Quote:\n"); Console.WriteLine(Convert.ToBase64String(encQuote)); Console.WriteLine("\nDecrypted Quote:\n"); Console.WriteLine(DecryptBytes(aesCSP, encQuote)); } public static byte[] EncryptString(SymmetricAlgorithm symAlg, string inString) { byte[] inBlock = UnicodeEncoding.Unicode.GetBytes(inString); ICryptoTransform xfrm = symAlg.CreateEncryptor(); byte[] outBlock = xfrm.TransformFinalBlock(inBlock, 0, inBlock.Length); return outBlock; } public static string DecryptBytes(SymmetricAlgorithm symAlg, byte[] inBytes) { ICryptoTransform xfrm = symAlg.CreateDecryptor(); byte[] outBlock = xfrm.TransformFinalBlock(inBytes, 0, inBytes.Length); return UnicodeEncoding.Unicode.GetString(outBlock); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.