AesCryptoServiceProvider.CreateDecryptor Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee maakt u een symmetrisch AES-decryptorobject.
Overloads
| Name | Description |
|---|---|
| CreateDecryptor() |
Hiermee maakt u een symmetrisch AES-decryptorobject met behulp van de huidige sleutel en initialisatievector (IV). |
| CreateDecryptor(Byte[], Byte[]) |
Hiermee maakt u een symmetrisch AES-decryptorobject met behulp van de opgegeven sleutel en initialisatievector (IV). |
CreateDecryptor()
Hiermee maakt u een symmetrisch AES-decryptorobject met behulp van de huidige sleutel en initialisatievector (IV).
public:
override System::Security::Cryptography::ICryptoTransform ^ CreateDecryptor();
[System.Security.SecurityCritical]
public override System.Security.Cryptography.ICryptoTransform CreateDecryptor();
public override System.Security.Cryptography.ICryptoTransform CreateDecryptor();
[<System.Security.SecurityCritical>]
override this.CreateDecryptor : unit -> System.Security.Cryptography.ICryptoTransform
override this.CreateDecryptor : unit -> System.Security.Cryptography.ICryptoTransform
Public Overrides Function CreateDecryptor () As ICryptoTransform
Retouren
Een symmetrisch AES-decryptorobject.
- Kenmerken
Uitzonderingen
De huidige sleutel is ongeldig of ontbreekt.
Van toepassing op
CreateDecryptor(Byte[], Byte[])
Hiermee maakt u een symmetrisch AES-decryptorobject met behulp van de opgegeven sleutel en initialisatievector (IV).
public:
override System::Security::Cryptography::ICryptoTransform ^ CreateDecryptor(cli::array <System::Byte> ^ key, cli::array <System::Byte> ^ iv);
public:
override System::Security::Cryptography::ICryptoTransform ^ CreateDecryptor(cli::array <System::Byte> ^ rgbKey, cli::array <System::Byte> ^ rgbIV);
[System.Security.SecurityCritical]
public override System.Security.Cryptography.ICryptoTransform CreateDecryptor(byte[] key, byte[] iv);
public override System.Security.Cryptography.ICryptoTransform CreateDecryptor(byte[] key, byte[] iv);
public override System.Security.Cryptography.ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgbIV);
[<System.Security.SecurityCritical>]
override this.CreateDecryptor : byte[] * byte[] -> System.Security.Cryptography.ICryptoTransform
override this.CreateDecryptor : byte[] * byte[] -> System.Security.Cryptography.ICryptoTransform
Public Overrides Function CreateDecryptor (key As Byte(), iv As Byte()) As ICryptoTransform
Public Overrides Function CreateDecryptor (rgbKey As Byte(), rgbIV As Byte()) As ICryptoTransform
Parameters
- keyrgbKey
- Byte[]
De geheime sleutel die moet worden gebruikt voor het symmetrische algoritme.
- ivrgbIV
- Byte[]
De initialisatievector die moet worden gebruikt voor het symmetrische algoritme.
Retouren
Een symmetrisch AES-decryptorobject.
- Kenmerken
Uitzonderingen
key of iv is null.
key is ongeldig.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de AesCryptoServiceProvider.CreateDecryptor methode gebruikt om een versleuteld bericht te ontsleutelen. Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de AesCryptoServiceProvider klasse.
static string DecryptStringFromBytes_Aes(byte[] cipherText, byte[] Key, byte[] IV)
{
// Check arguments.
if (cipherText == null || cipherText.Length <= 0)
throw new ArgumentNullException("cipherText");
if (Key == null || Key.Length <= 0)
throw new ArgumentNullException("Key");
if (IV == null || IV.Length <= 0)
throw new ArgumentNullException("IV");
// Declare the string used to hold
// the decrypted text.
string plaintext = null;
// Create an AesCryptoServiceProvider object
// with the specified key and IV.
using (AesCryptoServiceProvider aesAlg = new AesCryptoServiceProvider())
{
aesAlg.Key = Key;
aesAlg.IV = IV;
// Create a decryptor to perform the stream transform.
ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);
// Create the streams used for decryption.
using (MemoryStream msDecrypt = new MemoryStream(cipherText))
{
using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
{
using (StreamReader srDecrypt = new StreamReader(csDecrypt))
{
// Read the decrypted bytes from the decrypting stream
// and place them in a string.
plaintext = srDecrypt.ReadToEnd();
}
}
}
}
return plaintext;
}
Shared Function DecryptStringFromBytes_Aes(ByVal cipherText() As Byte,ByVal Key() As Byte, ByVal IV() As Byte) As String
' Check arguments.
If cipherText Is Nothing OrElse cipherText.Length <= 0 Then
Throw New ArgumentNullException("cipherText")
End If
If Key Is Nothing OrElse Key.Length <= 0 Then
Throw New ArgumentNullException("Key")
End If
If IV Is Nothing OrElse IV.Length <= 0 Then
Throw New ArgumentNullException("IV")
End If
' Declare the string used to hold
' the decrypted text.
Dim plaintext As String = Nothing
' Create an AesCryptoServiceProvider object
' with the specified key and IV.
Using aesAlg As New AesCryptoServiceProvider()
aesAlg.Key = Key
aesAlg.IV = IV
' Create a decryptor to perform the stream transform.
Dim decryptor As ICryptoTransform = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV)
' Create the streams used for decryption.
Using msDecrypt As New MemoryStream(cipherText)
Using csDecrypt As New CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)
Using srDecrypt As New StreamReader(csDecrypt)
' Read the decrypted bytes from the decrypting stream
' and place them in a string.
plaintext = srDecrypt.ReadToEnd()
End Using
End Using
End Using
End Using
Return plaintext
End Function 'DecryptStringFromBytes_Aes
End Class
let decryptStringFromBytes_Aes (cipherText : byte[], key : byte[], iv : byte[]) : string =
// Check arguments.
if (isNull cipherText || cipherText.Length <= 0) then nullArg "cipherText"
if (isNull key || key.Length <= 0) then nullArg "key"
if (isNull iv || iv.Length <= 0) then nullArg "iv"
// Create an AesCryptoServiceProvider object
// with the specified key and IV.
use aesAlg = new AesCryptoServiceProvider()
aesAlg.Key <- key
aesAlg.IV <- iv
// Create a decryptor to perform the stream transform.
let decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV)
// Create the streams used for decryption.
use msDecrypt = new MemoryStream(cipherText)
use csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)
use srDecrypt = new StreamReader(csDecrypt)
// Read the decrypted bytes from the decrypting stream
// and return the resulting string.
srDecrypt.ReadToEnd()