SymmetricAlgorithm.CreateEncryptor Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea un oggetto encryptor simmetrico.
Overload
| Nome | Descrizione |
|---|---|
| CreateEncryptor(Byte[], Byte[]) |
Quando sottoposto a override in una classe derivata, crea un oggetto encryptor simmetrico con la proprietà e il vettore di inizializzazione specificati Key (IV). |
| CreateEncryptor() |
Crea un oggetto encryptor simmetrico con la proprietà corrente Key e il vettore di inizializzazione (IV). |
CreateEncryptor(Byte[], Byte[])
- Origine:
- SymmetricAlgorithm.cs
- Origine:
- SymmetricAlgorithm.cs
- Origine:
- SymmetricAlgorithm.cs
- Origine:
- SymmetricAlgorithm.cs
- Origine:
- SymmetricAlgorithm.cs
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);
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
Parametri
- rgbKey
- Byte[]
Chiave privata da usare per l'algoritmo simmetrico.
- rgbIV
- Byte[]
Vettore di inizializzazione da usare per l'algoritmo simmetrico.
Restituisce
Oggetto encryptor simmetrico.
Commenti
Usare l'overload CreateDecryptor con gli stessi parametri per decrittografare il risultato di questo metodo.
Vedi anche
Si applica a
CreateEncryptor()
- Origine:
- SymmetricAlgorithm.cs
- Origine:
- SymmetricAlgorithm.cs
- Origine:
- SymmetricAlgorithm.cs
- Origine:
- SymmetricAlgorithm.cs
- Origine:
- SymmetricAlgorithm.cs
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
Restituisce
Oggetto encryptor simmetrico.
Esempio
Nell'esempio seguente viene crittografata una stringa usando l'oggetto transform restituito dal CreateEncryptor metodo .
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
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.
Utilizzare l'overload CreateDecryptor con la stessa firma per decrittografare il risultato di questo metodo.