Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

SymmetricAlgorithm.CreateEncryptor Method

Creates a symmetric encryptor object with the current Key property and initialization vector (IV).

Namespace:  System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public Overridable Function CreateEncryptor As ICryptoTransform

Return Value

Type: System.Security.Cryptography.ICryptoTransform
A symmetric encryptor object.

If the current Key property is Nothing, the GenerateKey method is called to create a new random Key. If the current IV property is Nothing, 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.

Imports System
Imports System.Security.Cryptography
Imports System.Text

Class EncryptorExample
     Private Shared quote As String = _
         "Things may come to those who wait, but only the " + _
         "things left by those who hustle. -- Abraham Lincoln" 

     Public Shared Sub Main()
         Dim aesCSP As New AesCryptoServiceProvider()

         aesCSP.GenerateKey()
         aesCSP.GenerateIV()
         Dim encQuote() As Byte = EncryptString(aesCSP, quote)

         Console.WriteLine("Encrypted Quote:" + vbNewLine)
         Console.WriteLine(Convert.ToBase64String(encQuote))

         Console.WriteLine(vbNewLine + "Decrypted Quote:" + vbNewLine)
         Console.WriteLine(DecryptBytes(aesCSP, encQuote))
     End Sub 

     Public Shared Function EncryptString(symAlg As SymmetricAlgorithm, inString As String) As Byte()
         Dim inBlock() As Byte = UnicodeEncoding.Unicode.GetBytes(inString)
         Dim xfrm As ICryptoTransform = symAlg.CreateEncryptor()
         Dim outBlock() As Byte = xfrm.TransformFinalBlock(inBlock, 0, inBlock.Length)

         Return outBlock
     End Function 

     Public Shared Function DecryptBytes(symAlg As SymmetricAlgorithm, inBytes() As Byte) As String 
         Dim xfrm As ICryptoTransform = symAlg.CreateDecryptor()
         Dim outBlock() As Byte = xfrm.TransformFinalBlock(inBytes, 0, inBytes.Length)

         return UnicodeEncoding.Unicode.GetString(outBlock)
     End Function 
End Class

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft