SymmetricAlgorithm.CreateEncryptor Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée un objet chiffreur symétrique.
Surcharges
CreateEncryptor() |
Crée un objet chiffreur symétrique avec la propriété Key et le vecteur d'initialisation (IV) actuels. |
CreateEncryptor(Byte[], Byte[]) |
En cas de substitution dans une classe dérivée, crée un objet chiffreur symétrique avec la propriété Key spécifiée et le vecteur d'initialisation (IV). |
CreateEncryptor()
- Source:
- SymmetricAlgorithm.cs
- Source:
- SymmetricAlgorithm.cs
- Source:
- 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
Retours
Objet chiffreur symétrique.
Exemples
L’exemple suivant chiffre une chaîne à l’aide de l’objet transform retourné par la CreateEncryptor méthode .
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
Remarques
Si la propriété actuelle Key est , la GenerateKey méthode est appelée pour créer un nouveau aléatoire Keynull
. Si la propriété actuelle IV est , la GenerateIV méthode est appelée pour créer un nouveau aléatoire IVnull
.
Utilisez la CreateDecryptor surcharge avec la même signature pour déchiffrer le résultat de cette méthode.
Voir aussi
S’applique à
CreateEncryptor(Byte[], Byte[])
- Source:
- SymmetricAlgorithm.cs
- Source:
- SymmetricAlgorithm.cs
- Source:
- 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
Paramètres
- rgbKey
- Byte[]
Clé secrète à utiliser pour l'algorithme symétrique.
- rgbIV
- Byte[]
Vecteur d'initialisation à utiliser pour l'algorithme symétrique.
Retours
Objet chiffreur symétrique.
Remarques
Utilisez la CreateDecryptor surcharge avec les mêmes paramètres pour déchiffrer le résultat de cette méthode.