Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo SymmetricAlgorithm.CreateEncryptor ()

 

Data di pubblicazione: ottobre 2016

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

Spazio dei nomi:   System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)

public virtual ICryptoTransform CreateEncryptor()

Valore restituito

Type: System.Security.Cryptography.ICryptoTransform

Oggetto di crittografia simmetrica.

If the current P:System.Security.Cryptography.SymmetricAlgorithm.Key property is null, the M:System.Security.Cryptography.SymmetricAlgorithm.GenerateKey method is called to create a new random P:System.Security.Cryptography.SymmetricAlgorithm.Key. If the current P:System.Security.Cryptography.SymmetricAlgorithm.IV property is null, the M:System.Security.Cryptography.SymmetricAlgorithm.GenerateIV method is called to create a new random P:System.Security.Cryptography.SymmetricAlgorithm.IV.

Use the M:System.Security.Cryptography.SymmetricAlgorithm.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 M:System.Security.Cryptography.SymmetricAlgorithm.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);
     }
}

.NET Framework
Disponibile da 1.1
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: