Auf Englisch lesen

Teilen über


AesCryptoServiceProvider Klasse

Definition

Achtung

Derived cryptographic types are obsolete. Use the Create method on the base type instead.

Führt mithilfe der CAPI-Implementierung (Cryptographic Application Programming Interfaces) des AES-Algorithmus (Advanced Encryption Standard) symmetrische Verschlüsselungen und Entschlüsselungen durch.

C#
public sealed class AesCryptoServiceProvider : System.Security.Cryptography.Aes
C#
[System.Obsolete("Derived cryptographic types are obsolete. Use the Create method on the base type instead.", DiagnosticId="SYSLIB0021", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class AesCryptoServiceProvider : System.Security.Cryptography.Aes
Vererbung
AesCryptoServiceProvider
Attribute

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Beispieldaten mithilfe der AesCryptoServiceProvider -Klasse verschlüsselt und entschlüsselt werden.

C#
using System;
using System.IO;
using System.Security.Cryptography;

namespace Aes_Example
{
    class AesExample
    {
        public static void Main()
        {
            string original = "Here is some data to encrypt!";

            // Create a new instance of the AesCryptoServiceProvider
            // class.  This generates a new key and initialization
            // vector (IV).
            using (AesCryptoServiceProvider myAes = new AesCryptoServiceProvider())
            {
                // Encrypt the string to an array of bytes.
                byte[] encrypted = EncryptStringToBytes_Aes(original, myAes.Key, myAes.IV);

                // Decrypt the bytes to a string.
                string roundtrip = DecryptStringFromBytes_Aes(encrypted, myAes.Key, myAes.IV);

                //Display the original data and the decrypted data.
                Console.WriteLine("Original:   {0}", original);
                Console.WriteLine("Round Trip: {0}", roundtrip);
            }
        }
        static byte[] EncryptStringToBytes_Aes(string plainText, byte[] Key, byte[] IV)
        {
            // Check arguments.
            if (plainText == null || plainText.Length <= 0)
                throw new ArgumentNullException("plainText");
            if (Key == null || Key.Length <= 0)
                throw new ArgumentNullException("Key");
            if (IV == null || IV.Length <= 0)
                throw new ArgumentNullException("IV");
            byte[] encrypted;

            // Create an AesCryptoServiceProvider object
            // with the specified key and IV.
            using (AesCryptoServiceProvider aesAlg = new AesCryptoServiceProvider())
            {
                aesAlg.Key = Key;
                aesAlg.IV = IV;

                // Create an encryptor to perform the stream transform.
                ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);

                // Create the streams used for encryption.
                using (MemoryStream msEncrypt = new MemoryStream())
                {
                    using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
                    {
                        using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
                        {
                            //Write all data to the stream.
                            swEncrypt.Write(plainText);
                        }
                        encrypted = msEncrypt.ToArray();
                    }
                }
            }

            // Return the encrypted bytes from the memory stream.
            return encrypted;
        }

        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;
        }
    }
}

Konstruktoren

AesCryptoServiceProvider()
Veraltet.

Initialisiert eine neue Instanz der AesCryptoServiceProvider-Klasse.

Felder

BlockSizeValue
Veraltet.

Stellt die Blockgröße des kryptografischen Vorgangs in Bits dar.

(Geerbt von SymmetricAlgorithm)
FeedbackSizeValue
Veraltet.

Stellt die Feedbackgröße des kryptografischen Vorgangs in Bits dar.

(Geerbt von SymmetricAlgorithm)
IVValue
Veraltet.

Stellt den Initialisierungsvektor (IV) für den symmetrischen Algorithmus dar.

(Geerbt von SymmetricAlgorithm)
KeySizeValue
Veraltet.

Stellt die Größe des vom symmetrischen Algorithmus verwendeten geheimen Schlüssels in Bits dar.

(Geerbt von SymmetricAlgorithm)
KeyValue
Veraltet.

Stellt den geheimen Schlüssel für den symmetrischen Algorithmus dar.

(Geerbt von SymmetricAlgorithm)
LegalBlockSizesValue
Veraltet.

Gibt die vom symmetrischen Algorithmus unterstützten Blockgrößen in Bits an.

(Geerbt von SymmetricAlgorithm)
LegalKeySizesValue
Veraltet.

Gibt die vom symmetrischen Algorithmus unterstützten Schlüsselgrößen in Bits an.

(Geerbt von SymmetricAlgorithm)
ModeValue
Veraltet.

Stellt den im symmetrischen Algorithmus verwendeten Verschlüsselungsmodus dar.

(Geerbt von SymmetricAlgorithm)
PaddingValue
Veraltet.

Stellt den im symmetrischen Algorithmus verwendeten Füllzeichenmodus dar.

(Geerbt von SymmetricAlgorithm)

Eigenschaften

BlockSize
Veraltet.

Ruft die Blockgröße des kryptografischen Vorgangs in Bits ab oder legt diese fest.

BlockSize
Veraltet.

Ruft die Blockgröße des kryptografischen Vorgangs in Bits ab oder legt diese fest.

(Geerbt von SymmetricAlgorithm)
FeedbackSize
Veraltet.

Ruft die Feedbackgröße des kryptografischen Vorgangs für den CFB-Modus (Cipher Feedback, Verschlüsselungsverfahren-Feedback) und den OFB-Modus (Output Feedback, Ausgabefeedback) in Bits ab oder legt diese fest.

FeedbackSize
Veraltet.

Ruft die Feedbackgröße des kryptografischen Vorgangs für den CFB-Modus (Cipher Feedback, Verschlüsselungsverfahren-Feedback) und den OFB-Modus (Output Feedback, Ausgabefeedback) in Bits ab oder legt diese fest.

(Geerbt von SymmetricAlgorithm)
IV
Veraltet.

Ruft den Initialisierungsvektor (IV) für den symmetrischen Algorithmus ab oder legt diesen fest.

IV
Veraltet.

Ruft den Initialisierungsvektor (IV) für den symmetrischen Algorithmus ab oder legt diesen fest.

(Geerbt von SymmetricAlgorithm)
Key
Veraltet.

Ruft den symmetrischen Schlüssel ab, der zur Verschlüsselung und Entschlüsselung verwendet wird, oder legt diesen fest.

KeySize
Veraltet.

Ruft die Größe, in Bits, des geheimen Schlüssels ab oder legt diese fest.

LegalBlockSizes
Veraltet.

Ruft die vom symmetrischen Algorithmus unterstützten Blockgrößen in Bits ab.

LegalBlockSizes
Veraltet.

Ruft die vom symmetrischen Algorithmus unterstützten Blockgrößen in Bits ab.

(Geerbt von Aes)
LegalKeySizes
Veraltet.

Ruft die vom symmetrischen Algorithmus unterstützten Schlüsselgrößen in Bits ab.

LegalKeySizes
Veraltet.

Ruft die vom symmetrischen Algorithmus unterstützten Schlüsselgrößen in Bits ab.

(Geerbt von Aes)
Mode
Veraltet.

Ruft den Modus für die Ausführung des symmetrischen Algorithmus ab oder legt diesen fest.

Mode
Veraltet.

Ruft den Modus für die Ausführung des symmetrischen Algorithmus ab oder legt diesen fest.

(Geerbt von SymmetricAlgorithm)
Padding
Veraltet.

Ruft den im symmetrischen Algorithmus verwendeten Füllzeichenmodus ab oder legt diesen fest.

Padding
Veraltet.

Ruft den im symmetrischen Algorithmus verwendeten Füllzeichenmodus ab oder legt diesen fest.

(Geerbt von SymmetricAlgorithm)

Methoden

Clear()
Veraltet.

Gibt alle von der SymmetricAlgorithm-Klasse verwendeten Ressourcen frei.

(Geerbt von SymmetricAlgorithm)
CreateDecryptor()
Veraltet.

Erstellt ein symmetrisches AES-Entschlüsselungsobjekt mit dem aktuellen Schlüssel und Initialisierungsvektor (IV).

CreateDecryptor(Byte[], Byte[])
Veraltet.

Erstellt ein symmetrisches AES-Entschlüsselungsobjekt mit dem angegebenen Schlüssel und Initialisierungsvektor (IV).

CreateEncryptor()
Veraltet.

Erstellt ein symmetrisches AES-Verschlüsselungsobjekt mit dem aktuellen Schlüssel und Initialisierungsvektor (IV).

CreateEncryptor(Byte[], Byte[])
Veraltet.

Erstellt ein symmetrisches Verschlüsselungsobjekt mit dem angegebenen Schlüssel und Initialisierungsvektor (IV).

DecryptCbc(Byte[], Byte[], PaddingMode)
Veraltet.

Entschlüsselt Daten im CBC-Modus mit dem angegebenen Auffüllmodus.

(Geerbt von SymmetricAlgorithm)
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode)
Veraltet.

Entschlüsselt Daten im CBC-Modus mit dem angegebenen Auffüllmodus.

(Geerbt von SymmetricAlgorithm)
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Veraltet.

Entschlüsselt Daten mithilfe des CBC-Modus mit dem angegebenen Auffüllmodus in den angegebenen Puffer.

(Geerbt von SymmetricAlgorithm)
DecryptCfb(Byte[], Byte[], PaddingMode, Int32)
Veraltet.

Entschlüsselt Daten im CFB-Modus mit dem angegebenen Auffüllmodus und der angegebenen Feedbackgröße.

(Geerbt von SymmetricAlgorithm)
DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32)
Veraltet.

Entschlüsselt Daten im CFB-Modus mit dem angegebenen Auffüllmodus und der angegebenen Feedbackgröße.

(Geerbt von SymmetricAlgorithm)
DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Veraltet.

Entschlüsselt Daten im angegebenen Puffer mithilfe des CFB-Modus mit dem angegebenen Auffüllmodus und der angegebenen Feedbackgröße.

(Geerbt von SymmetricAlgorithm)
DecryptEcb(Byte[], PaddingMode)
Veraltet.

Entschlüsselt Daten im EZB-Modus mit dem angegebenen Auffüllmodus.

(Geerbt von SymmetricAlgorithm)
DecryptEcb(ReadOnlySpan<Byte>, PaddingMode)
Veraltet.

Entschlüsselt Daten im EZB-Modus mit dem angegebenen Auffüllmodus.

(Geerbt von SymmetricAlgorithm)
DecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Veraltet.

Entschlüsselt Daten im angegebenen Puffer mithilfe des ECB-Modus mit dem angegebenen Auffüllmodus.

(Geerbt von SymmetricAlgorithm)
Dispose()
Veraltet.

Gibt alle von der aktuellen Instanz der SymmetricAlgorithm-Klasse verwendeten Ressourcen frei.

(Geerbt von SymmetricAlgorithm)
Dispose(Boolean)
Veraltet.

Gibt die von SymmetricAlgorithm verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

(Geerbt von SymmetricAlgorithm)
EncryptCbc(Byte[], Byte[], PaddingMode)
Veraltet.

Verschlüsselt Daten im CBC-Modus mit dem angegebenen Auffüllmodus.

(Geerbt von SymmetricAlgorithm)
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode)
Veraltet.

Verschlüsselt Daten im CBC-Modus mit dem angegebenen Auffüllmodus.

(Geerbt von SymmetricAlgorithm)
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Veraltet.

Verschlüsselt Daten im angegebenen Puffer mithilfe des CBC-Modus mit dem angegebenen Auffüllmodus.

(Geerbt von SymmetricAlgorithm)
EncryptCfb(Byte[], Byte[], PaddingMode, Int32)
Veraltet.

Verschlüsselt Daten im CFB-Modus mit dem angegebenen Auffüllmodus und der angegebenen Feedbackgröße.

(Geerbt von SymmetricAlgorithm)
EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32)
Veraltet.

Verschlüsselt Daten im CFB-Modus mit dem angegebenen Auffüllmodus und der angegebenen Feedbackgröße.

(Geerbt von SymmetricAlgorithm)
EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Veraltet.

Verschlüsselt Daten im angegebenen Puffer mithilfe des CFB-Modus mit dem angegebenen Auffüllungsmodus und der angegebenen Feedbackgröße.

(Geerbt von SymmetricAlgorithm)
EncryptEcb(Byte[], PaddingMode)
Veraltet.

Verschlüsselt Daten im ECB-Modus mit dem angegebenen Auffüllmodus.

(Geerbt von SymmetricAlgorithm)
EncryptEcb(ReadOnlySpan<Byte>, PaddingMode)
Veraltet.

Verschlüsselt Daten im ECB-Modus mit dem angegebenen Auffüllmodus.

(Geerbt von SymmetricAlgorithm)
EncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Veraltet.

Verschlüsselt Daten im angegebenen Puffer mithilfe des EZB-Modus mit dem angegebenen Auffüllmodus.

(Geerbt von SymmetricAlgorithm)
Equals(Object)
Veraltet.

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GenerateIV()
Veraltet.

Generiert einen zufälligen Initialisierungsvektor (IV) für den Algorithmus.

GenerateKey()
Veraltet.

Generiert einen zufälligen Schlüssel für den Algorithmus.

GetCiphertextLengthCbc(Int32, PaddingMode)
Veraltet.

Ruft die Länge eines Chiffretexts mit einem angegebenen Auffüllmodus und Klartextlänge im CBC-Modus ab.

(Geerbt von SymmetricAlgorithm)
GetCiphertextLengthCfb(Int32, PaddingMode, Int32)
Veraltet.

Ruft die Länge eines Chiffretexts mit einem angegebenen Auffüllmodus und Klartextlänge im CFB-Modus ab.

(Geerbt von SymmetricAlgorithm)
GetCiphertextLengthEcb(Int32, PaddingMode)
Veraltet.

Ruft die Länge eines Chiffretexts mit einem angegebenen Auffüllmodus und Klartextlänge im EZB-Modus ab.

(Geerbt von SymmetricAlgorithm)
GetHashCode()
Veraltet.

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()
Veraltet.

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()
Veraltet.

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()
Veraltet.

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TryDecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode)
Veraltet.

Versucht, Daten mithilfe des CBC-Modus mit dem angegebenen Auffüllmodus in den angegebenen Puffer zu entschlüsseln.

(Geerbt von SymmetricAlgorithm)
TryDecryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Veraltet.

Beim Überschreiben in einer abgeleiteten Klasse versucht, Daten im angegebenen Puffer zu entschlüsseln, wobei der CBC-Modus mit dem angegebenen Auffüllmodus verwendet wird.

(Geerbt von SymmetricAlgorithm)
TryDecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32)
Veraltet.

Versucht, Daten im angegebenen Puffer mithilfe des CFB-Modus mit dem angegebenen Auffüllmodus und der angegebenen Feedbackgröße zu entschlüsseln.

(Geerbt von SymmetricAlgorithm)
TryDecryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32)
Veraltet.

Beim Überschreiben in einer abgeleiteten Klasse versucht, Daten im angegebenen Puffer zu entschlüsseln, wobei der CFB-Modus mit dem angegebenen Auffüllungsmodus und der angegebenen Feedbackgröße verwendet wird.

(Geerbt von SymmetricAlgorithm)
TryDecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Veraltet.

Versucht, Daten im angegebenen Puffer zu entschlüsseln, indem der ECB-Modus mit dem angegebenen Auffüllmodus verwendet wird.

(Geerbt von SymmetricAlgorithm)
TryDecryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Veraltet.

Versucht beim Überschreiben in einer abgeleiteten Klasse, Daten im angegebenen Puffer zu entschlüsseln, indem der ECB-Modus mit dem angegebenen Auffüllmodus verwendet wird.

(Geerbt von SymmetricAlgorithm)
TryEncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode)
Veraltet.

Versucht, Daten im angegebenen Puffer mithilfe des CBC-Modus mit dem angegebenen Auffüllmodus zu verschlüsseln.

(Geerbt von SymmetricAlgorithm)
TryEncryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Veraltet.

Wenn Sie in einer abgeleiteten Klasse überschrieben werden, versucht, Daten im angegebenen Puffer zu verschlüsseln, indem Sie den CBC-Modus mit dem angegebenen Auffüllmodus verwenden.

(Geerbt von SymmetricAlgorithm)
TryEncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32)
Veraltet.

Versucht, Daten im angegebenen Puffer mithilfe des CFB-Modus mit dem angegebenen Auffüllmodus und der angegebenen Feedbackgröße zu verschlüsseln.

(Geerbt von SymmetricAlgorithm)
TryEncryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32)
Veraltet.

Beim Überschreiben in einer abgeleiteten Klasse versucht, Daten mithilfe des CFB-Modus mit dem angegebenen Auffüllmodus und der angegebenen Feedbackgröße in den angegebenen Puffer zu verschlüsseln.

(Geerbt von SymmetricAlgorithm)
TryEncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Veraltet.

Versucht, Daten im angegebenen Puffer mithilfe des ECB-Modus mit dem angegebenen Auffüllmodus zu verschlüsseln.

(Geerbt von SymmetricAlgorithm)
TryEncryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Veraltet.

Beim Überschreiben in einer abgeleiteten Klasse versucht, Daten im angegebenen Puffer mithilfe des EZB-Modus mit dem angegebenen Auffüllmodus zu verschlüsseln.

(Geerbt von SymmetricAlgorithm)
ValidKeySize(Int32)
Veraltet.

Bestimmt, ob die angegebene Schlüsselgröße für den aktuellen Algorithmus gültig ist.

(Geerbt von SymmetricAlgorithm)

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Veraltet.

Gibt die von SymmetricAlgorithm verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

(Geerbt von SymmetricAlgorithm)

Gilt für:

Produkt Versionen (Veraltet)
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5 (6, 7, 8, 9)
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1