SymmetricAlgorithm.CreateEncryptor Metodo

Definizione

Crea un oggetto di crittografia simmetrica.

Overload

CreateEncryptor()

Crea un oggetto di crittografia simmetrica con la proprietà Key corrente e il vettore di inizializzazione IV.

CreateEncryptor(Byte[], Byte[])

Quando è sottoposto a override in una classe derivata, crea un oggetto di crittografia simmetrica con la proprietà Key e il vettore di inizializzazione IV specificati.

CreateEncryptor()

Origine:
SymmetricAlgorithm.cs
Origine:
SymmetricAlgorithm.cs
Origine:
SymmetricAlgorithm.cs

Crea un oggetto di crittografia simmetrica con la proprietà Key corrente e il vettore di inizializzazione IV.

C#
public virtual System.Security.Cryptography.ICryptoTransform CreateEncryptor();

Restituisce

Oggetto di crittografia simmetrica.

Esempio

Nell'esempio seguente viene crittografata una stringa usando l'oggetto transform restituito dal CreateEncryptor metodo .

C#
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);
     }
}

Commenti

Se la proprietà corrente Key è null, viene chiamato il GenerateKey metodo per creare un nuovo oggetto casuale Key. Se la proprietà corrente IV è null, viene chiamato il GenerateIV metodo per creare un nuovo oggetto casuale IV.

Usare l'overload CreateDecryptor con la stessa firma per decrittografare il risultato di questo metodo.

Vedi anche

Si applica a

.NET 10 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

CreateEncryptor(Byte[], Byte[])

Origine:
SymmetricAlgorithm.cs
Origine:
SymmetricAlgorithm.cs
Origine:
SymmetricAlgorithm.cs

Quando è sottoposto a override in una classe derivata, crea un oggetto di crittografia simmetrica con la proprietà Key e il vettore di inizializzazione IV specificati.

C#
public abstract System.Security.Cryptography.ICryptoTransform CreateEncryptor(byte[] rgbKey, byte[]? rgbIV);
C#
public abstract System.Security.Cryptography.ICryptoTransform CreateEncryptor(byte[] rgbKey, byte[] rgbIV);

Parametri

rgbKey
Byte[]

Chiave privata da usare per l'algoritmo simmetrico.

rgbIV
Byte[]

Vettore di inizializzazione da usare per l'algoritmo simmetrico.

Restituisce

Oggetto di crittografia simmetrica.

Commenti

Usare l'overload CreateDecryptor con gli stessi parametri per decrittografare il risultato di questo metodo.

Vedi anche

Si applica a

.NET 10 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1