AesManaged.CreateDecryptor Method   
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Creates a symmetric decryptor object.
Overloads
| CreateDecryptor() | Creates a symmetric decryptor object using the current key and initialization vector (IV). | 
| CreateDecryptor(Byte[], Byte[]) | Creates a symmetric decryptor object using the specified key and initialization vector (IV). | 
CreateDecryptor()
- Source:
- AesManaged.cs
- Source:
- AesManaged.cs
- Source:
- AesManaged.cs
- Source:
- AesManaged.cs
Creates a symmetric decryptor object using the current key and initialization vector (IV).
public:
 override System::Security::Cryptography::ICryptoTransform ^ CreateDecryptor();public override System.Security.Cryptography.ICryptoTransform CreateDecryptor();override this.CreateDecryptor : unit -> System.Security.Cryptography.ICryptoTransformPublic Overrides Function CreateDecryptor () As ICryptoTransformReturns
A symmetric decryptor object.
Applies to
CreateDecryptor(Byte[], Byte[])
- Source:
- AesManaged.cs
- Source:
- AesManaged.cs
- Source:
- AesManaged.cs
- Source:
- AesManaged.cs
Creates a symmetric decryptor object using the specified key and initialization vector (IV).
public:
 override System::Security::Cryptography::ICryptoTransform ^ CreateDecryptor(cli::array <System::Byte> ^ rgbKey, cli::array <System::Byte> ^ rgbIV);public:
 override System::Security::Cryptography::ICryptoTransform ^ CreateDecryptor(cli::array <System::Byte> ^ key, cli::array <System::Byte> ^ iv);public override System.Security.Cryptography.ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[]? rgbIV);public override System.Security.Cryptography.ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgbIV);public override System.Security.Cryptography.ICryptoTransform CreateDecryptor(byte[] key, byte[] iv);override this.CreateDecryptor : byte[] * byte[] -> System.Security.Cryptography.ICryptoTransformoverride this.CreateDecryptor : byte[] * byte[] -> System.Security.Cryptography.ICryptoTransformPublic Overrides Function CreateDecryptor (rgbKey As Byte(), rgbIV As Byte()) As ICryptoTransformPublic Overrides Function CreateDecryptor (key As Byte(), iv As Byte()) As ICryptoTransformParameters
- rgbKeykey
- Byte[]
The secret key to use for the symmetric algorithm.
- rgbIViv
- Byte[]
The initialization vector to use for the symmetric algorithm.
Returns
A symmetric decryptor object.
Exceptions
key or iv is null.
key is invalid.
Examples
The following example shows how to use the AesManaged.CreateDecryptor method to decrypt an encrypted message. This code example is part of a larger example provided for the AesManaged class.
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 AesManaged object
    // with the specified key and IV.
    using (AesManaged aesAlg = new AesManaged())
    {
        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 AesManaged object
        ' with the specified key and IV.
        Using aesAlg As New AesManaged
            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 AesManaged object
    // with the specified key and IV.
    use aesAlg = new AesManaged()
    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()