SymmetricAlgorithm.CreateEncryptor Metod

Definition

Skapar ett symmetriskt krypteringsobjekt.

Överlagringar

Name Description
CreateEncryptor()

Skapar ett symmetriskt krypteringsobjekt med den aktuella Key egenskapen och initieringsvektorn (IV).

CreateEncryptor(Byte[], Byte[])

När det åsidosättas i en härledd klass skapar ett symmetriskt krypteringsobjekt med den angivna Key egenskapen och initieringsvektorn (IV).

CreateEncryptor()

Skapar ett symmetriskt krypteringsobjekt med den aktuella Key egenskapen och initieringsvektorn (IV).

public:
 virtual System::Security::Cryptography::ICryptoTransform ^ CreateEncryptor();
public virtual System.Security.Cryptography.ICryptoTransform CreateEncryptor();
abstract member CreateEncryptor : unit -> System.Security.Cryptography.ICryptoTransform
override this.CreateEncryptor : unit -> System.Security.Cryptography.ICryptoTransform
Public Overridable Function CreateEncryptor () As ICryptoTransform

Returer

Ett symmetriskt krypteringsobjekt.

Exempel

I följande exempel krypteras en sträng med hjälp av transformeringsobjektet som returneras från CreateEncryptor metoden.

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);
     }
}
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:" + Environment.NewLine)
         Console.WriteLine(Convert.ToBase64String(encQuote))

         Console.WriteLine(Environment.NewLine + "Decrypted Quote:" + Environment.NewLine)
         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

Kommentarer

Om den aktuella Key egenskapen är nullGenerateKey anropas metoden för att skapa en ny slumpmässig Key. Om den aktuella IV egenskapen är nullGenerateIV anropas metoden för att skapa en ny slumpmässig IV.

Använd överlagringen CreateDecryptor med samma signatur för att dekryptera resultatet av den här metoden.

Se även

Gäller för

CreateEncryptor(Byte[], Byte[])

När det åsidosättas i en härledd klass skapar ett symmetriskt krypteringsobjekt med den angivna Key egenskapen och initieringsvektorn (IV).

public:
 abstract System::Security::Cryptography::ICryptoTransform ^ CreateEncryptor(cli::array <System::Byte> ^ rgbKey, cli::array <System::Byte> ^ rgbIV);
public abstract System.Security.Cryptography.ICryptoTransform CreateEncryptor(byte[] rgbKey, byte[] rgbIV);
abstract member CreateEncryptor : byte[] * byte[] -> System.Security.Cryptography.ICryptoTransform
Public MustOverride Function CreateEncryptor (rgbKey As Byte(), rgbIV As Byte()) As ICryptoTransform

Parametrar

rgbKey
Byte[]

Den hemliga nyckel som ska användas för den symmetriska algoritmen.

rgbIV
Byte[]

Initieringsvektorn som ska användas för den symmetriska algoritmen.

Returer

Ett symmetriskt krypteringsobjekt.

Kommentarer

Använd överlagringen CreateDecryptor med samma parametrar för att dekryptera resultatet av den här metoden.

Se även

Gäller för