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 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
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 di crittografia simmetrica.
Esempio
Nell'esempio seguente viene crittografata una stringa usando l'oggetto transform restituito dal CreateEncryptor metodo .
using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Text;
class EncryptorExample
{
public:
static void Main()
{
TripleDESCryptoServiceProvider^ tdesCSP = gcnew TripleDESCryptoServiceProvider();
tdesCSP->GenerateKey();
tdesCSP->GenerateIV();
String^ quote =
"Things may come to those who wait, but only the " +
"things left by those who hustle. -- Abraham Lincoln";
array<Byte>^ encQuote = EncryptString(tdesCSP, quote);
Console::WriteLine("Encrypted Quote:\n");
Console::WriteLine(Convert::ToBase64String(encQuote));
Console::WriteLine("\nDecrypted Quote:\n");
Console::WriteLine(DecryptBytes(tdesCSP, encQuote));
}
public:
static array<Byte>^ EncryptString(SymmetricAlgorithm^ symAlg, String^ inString)
{
array<Byte>^ inBlock = UnicodeEncoding::Unicode->GetBytes(inString);
ICryptoTransform^ xfrm = symAlg->CreateEncryptor();
array<Byte>^ outBlock = xfrm->TransformFinalBlock(inBlock, 0, inBlock->Length);
return outBlock;
}
static String^ DecryptBytes(SymmetricAlgorithm^ symAlg, array<Byte>^ inBytes)
{
ICryptoTransform^ xfrm = symAlg->CreateDecryptor();
array<Byte>^ outBlock = xfrm->TransformFinalBlock(inBytes, 0, inBytes->Length);
return UnicodeEncoding::Unicode->GetString(outBlock);
}
};
int main()
{
EncryptorExample::Main();
}
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.
Usare l'overload CreateDecryptor con la stessa firma per decrittografare il risultato di questo metodo.
Vedi anche
Si applica a
CreateEncryptor(Byte[], Byte[])
- 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 di crittografia simmetrica.
Commenti
Usare l'overload CreateDecryptor con gli stessi parametri per decrittografare il risultato di questo metodo.