DESCryptoServiceProvider Klasse

Definition

Achtung

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

Definiert ein Wrapperobjekt für den Zugriff auf die CSP-Version (Kryptografiedienstanbieter) des Verschlüsselungsstandardalgorithmus (DESData Encryption Standard). Diese Klasse kann nicht vererbt werden.

public ref class DESCryptoServiceProvider sealed : System::Security::Cryptography::DES
[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 DESCryptoServiceProvider : System.Security.Cryptography.DES
public sealed class DESCryptoServiceProvider : System.Security.Cryptography.DES
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DESCryptoServiceProvider : System.Security.Cryptography.DES
[<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}")>]
type DESCryptoServiceProvider = class
    inherit DES
type DESCryptoServiceProvider = class
    inherit DES
[<System.Runtime.InteropServices.ComVisible(true)>]
type DESCryptoServiceProvider = class
    inherit DES
Public NotInheritable Class DESCryptoServiceProvider
Inherits DES
Vererbung
DESCryptoServiceProvider
Attribute

Beispiele

Im folgenden Codebeispiel wird DESCryptoServiceProvider (eine Implementierung von DES) mit dem angegebenen Schlüssel (Key) und Initialisierungsvektor (IV) verwendet, um eine Datei zu verschlüsseln, die durch inName angegeben ist. Anschließend wird das verschlüsselte Ergebnis an die durch outName.

private static void EncryptData(string inName, string outName, byte[] desKey, byte[] desIV)
 {
     //Create the file streams to handle the input and output files.
     FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);
     FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);
     fout.SetLength(0);

     //Create variables to help with read and write.
     byte[] bin = new byte[100]; //This is intermediate storage for the encryption.
     long rdlen = 0;              //This is the total number of bytes written.
     long totlen = fin.Length;    //This is the total length of the input file.
     int len;                     //This is the number of bytes to be written at a time.

     DES des = new DESCryptoServiceProvider();
     CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);

     Console.WriteLine("Encrypting...");

     //Read from the input file, then encrypt and write to the output file.
     while(rdlen < totlen)
     {
         len = fin.Read(bin, 0, 100);
         encStream.Write(bin, 0, len);
         rdlen = rdlen + len;
         Console.WriteLine("{0} bytes processed", rdlen);
     }

     encStream.Close();
     fout.Close();
     fin.Close();
 }
Private Shared Sub EncryptData(inName As String, outName As String, _
desKey() As Byte, desIV() As Byte)

    'Create the file streams to handle the input and output files.
    Dim fin As New FileStream(inName, FileMode.Open, FileAccess.Read)
    Dim fout As New FileStream(outName, FileMode.OpenOrCreate, _
       FileAccess.Write)
    fout.SetLength(0)
    
    'Create variables to help with read and write.
    Dim bin(4096) As Byte 'This is intermediate storage for the encryption.
    Dim rdlen As Long = 0 'This is the total number of bytes written.
    Dim totlen As Long = fin.Length 'Total length of the input file.
    Dim len As Integer 'This is the number of bytes to be written at a time.
    Dim des As New DESCryptoServiceProvider()
    Dim encStream As New CryptoStream(fout, _
       des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write)
    
    Console.WriteLine("Encrypting...")
    
    'Read from the input file, then encrypt and write to the output file.
    While rdlen < totlen
        len = fin.Read(bin, 0, 4096)
        encStream.Write(bin, 0, len)
        rdlen = Convert.ToInt32(rdlen + len / des.BlockSize * des.BlockSize)
        Console.WriteLine("Processed {0} bytes, {1} bytes total", len, _
           rdlen)
    End While
    
    encStream.Close()
End Sub

Entschlüsselung kann auf die gleiche Weise behandelt werden; anstelle CreateDecryptor von CreateEncryptor. Derselbe Schlüssel (Key) und der Initialisierungsvektor (IV), der zum Verschlüsseln der Datei verwendet wird, muss zum Entschlüsseln verwendet werden.

Hinweise

Dieser Algorithmus unterstützt eine Schlüssellänge von 64 Bits.

Important

Ein neuerer symmetrischer Verschlüsselungsalgorithmus, Advanced Encryption Standard (AES), ist verfügbar. Erwägen Sie die Verwendung der Aes Klasse anstelle der DES Klasse. Verwenden Sie DES nur zur Kompatibilität mit älteren Anwendungen und Daten.

Konstruktoren

Name Beschreibung
DESCryptoServiceProvider()
Veraltet.

Initialisiert eine neue Instanz der DESCryptoServiceProvider-Klasse.

Felder

Name Beschreibung
BlockSizeValue
Veraltet.

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

(Geerbt von SymmetricAlgorithm)
FeedbackSizeValue
Veraltet.

Stellt die Feedbackgröße in Bits des kryptografischen Vorgangs 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 geheimen Schlüssels in Bits dar, der vom symmetrischen Algorithmus verwendet wird.

(Geerbt von SymmetricAlgorithm)
KeyValue
Veraltet.

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

(Geerbt von SymmetricAlgorithm)
LegalBlockSizesValue
Veraltet.

Gibt die Blockgrößen in Bits an, die vom symmetrischen Algorithmus unterstützt werden.

(Geerbt von SymmetricAlgorithm)
LegalKeySizesValue
Veraltet.

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

(Geerbt von SymmetricAlgorithm)
ModeValue
Veraltet.

Stellt den verschlüsselungsmodus dar, der im symmetrischen Algorithmus verwendet wird.

(Geerbt von SymmetricAlgorithm)
PaddingValue
Veraltet.

Stellt den Abstandsmodus dar, der im symmetrischen Algorithmus verwendet wird.

(Geerbt von SymmetricAlgorithm)

Eigenschaften

Name Beschreibung
BlockSize
Veraltet.

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

(Geerbt von SymmetricAlgorithm)
FeedbackSize
Veraltet.

Ruft die Feedbackgröße in Bits des kryptografischen Vorgangs für die Verschlüsselungsrückmeldungsmodi (CFB) und Output Feedback (OFB) ab oder legt sie fest.

(Geerbt von SymmetricAlgorithm)
IV
Veraltet.

Dient zum Abrufen oder Festlegen des Initialisierungsvektors (IV) für den symmetrischen Algorithmus.

(Geerbt von SymmetricAlgorithm)
Key
Veraltet.

Dient zum Abrufen oder Festlegen des geheimen Schlüssels für den Datenverschlüsselungsstandardalgorithmus (DESData Encryption Standard).

(Geerbt von DES)
KeySize
Veraltet.

Ruft die Größe des geheimen Schlüssels in Bits ab, der vom symmetrischen Algorithmus verwendet wird, oder legt diese fest.

(Geerbt von SymmetricAlgorithm)
LegalBlockSizes
Veraltet.

Ruft die Blockgrößen in Bits ab, die vom symmetrischen Algorithmus unterstützt werden.

(Geerbt von SymmetricAlgorithm)
LegalKeySizes
Veraltet.

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

(Geerbt von SymmetricAlgorithm)
Mode
Veraltet.

Ruft den Modus für den Betrieb des symmetrischen Algorithmus ab oder legt den Modus fest.

(Geerbt von SymmetricAlgorithm)
Padding
Veraltet.

Ruft den Abstandsmodus ab, der im symmetrischen Algorithmus verwendet wird, oder legt diesen fest.

(Geerbt von SymmetricAlgorithm)

Methoden

Name Beschreibung
Clear()
Veraltet.

Gibt alle Ressourcen frei, die von der SymmetricAlgorithm-Klasse verwendet werden.

(Geerbt von SymmetricAlgorithm)
CreateDecryptor()
Veraltet.

Erstellt ein symmetrisches Entschlüsselungsobjekt mit der aktuellen Key Eigenschaft und dem Initialisierungsvektor (IV).

CreateDecryptor()
Veraltet.

Erstellt ein symmetrisches Entschlüsselungsobjekt mit der aktuellen Key Eigenschaft und dem Initialisierungsvektor (IV).

(Geerbt von SymmetricAlgorithm)
CreateDecryptor(Byte[], Byte[])
Veraltet.

Erstellt ein symmetrisches Datenverschlüsselungsstandardobjekt (DES) mit dem angegebenen Schlüssel (Key) und initialisierungsvektor (IV).

CreateEncryptor()
Veraltet.

Erstellt ein symmetrisches Verschlüsselungsobjekt mit der aktuellen Key Eigenschaft und dem Initialisierungsvektor (IV).

CreateEncryptor()
Veraltet.

Erstellt ein symmetrisches Verschlüsselungsobjekt mit der aktuellen Key Eigenschaft und dem Initialisierungsvektor (IV).

(Geerbt von SymmetricAlgorithm)
CreateEncryptor(Byte[], Byte[])
Veraltet.

Erstellt ein symmetrisches Datenverschlüsselungsstandardobjekt (DES) mit dem angegebenen Schlüssel (Key) und initialisierungsvektor (IV).

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

Entschlüsselt Daten mithilfe des CBC-Modus mit dem angegebenen Abstandsmodus.

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

Entschlüsselt Daten mithilfe des CBC-Modus mit dem angegebenen Abstandsmodus.

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

Entschlüsselt Daten in den angegebenen Puffer, wobei der CBC-Modus mit dem angegebenen Abstandsmodus verwendet wird.

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

Entschlüsselt Daten mithilfe des CFB-Modus mit dem angegebenen Abstandsmodus und der Feedbackgröße.

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

Entschlüsselt Daten mithilfe des CFB-Modus mit dem angegebenen Abstandsmodus und der Feedbackgröße.

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

Entschlüsselt Daten in den angegebenen Puffer, wobei der CFB-Modus mit dem angegebenen Abstandsmodus und der Feedbackgröße verwendet wird.

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

Entschlüsselt Daten mithilfe des ECB-Modus mit dem angegebenen Abstandsmodus.

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

Entschlüsselt Daten mithilfe des ECB-Modus mit dem angegebenen Abstandsmodus.

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

Entschlüsselt Daten in den angegebenen Puffer, wobei der ECB-Modus mit dem angegebenen Abstandsmodus verwendet wird.

(Geerbt von SymmetricAlgorithm)
Dispose()
Veraltet.

Gibt alle Ressourcen frei, die von der aktuellen Instanz der SymmetricAlgorithm Klasse verwendet werden.

(Geerbt von SymmetricAlgorithm)
Dispose(Boolean)
Veraltet.

Gibt die nicht verwalteten Ressourcen frei, die von den SymmetricAlgorithm verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei.

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

Verschlüsselt Daten mithilfe des CBC-Modus mit dem angegebenen Abstandsmodus.

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

Verschlüsselt Daten mithilfe des CBC-Modus mit dem angegebenen Abstandsmodus.

(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 Abstandsmodus.

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

Verschlüsselt Daten mithilfe des CFB-Modus mit dem angegebenen Abstandsmodus und der Feedbackgröße.

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

Verschlüsselt Daten mithilfe des CFB-Modus mit dem angegebenen Abstandsmodus und der 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 Abstandsmodus und der Feedbackgröße.

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

Verschlüsselt Daten mithilfe des ECB-Modus mit dem angegebenen Abstandsmodus.

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

Verschlüsselt Daten mithilfe des ECB-Modus mit dem angegebenen Abstandsmodus.

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

Verschlüsselt Daten im angegebenen Puffer mithilfe des ECB-Modus mit dem angegebenen Abstandsmodus.

(Geerbt von SymmetricAlgorithm)
Equals(Object)
Veraltet.

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GenerateIV()
Veraltet.

Generiert einen zufälligen Initialisierungsvektor (IV), der für den Algorithmus verwendet werden soll.

GenerateKey()
Veraltet.

Generiert einen Zufallsschlüssel (Key), der für den Algorithmus verwendet werden soll.

GetCiphertextLengthCbc(Int32, PaddingMode)
Veraltet.

Ruft die Länge eines Chiffretexts mit einem bestimmten Abstandsmodus und der Nur-Text-Länge im CBC-Modus ab.

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

Ruft die Länge eines Chiffretexts mit einem bestimmten Abstandsmodus und der Nur-Text-Länge im CFB-Modus ab.

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

Ruft die Länge eines Chiffretexts mit einem bestimmten Abstandsmodus und der Nur-Text-Länge im ECB-Modus ab.

(Geerbt von SymmetricAlgorithm)
GetHashCode()
Veraltet.

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()
Veraltet.

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()
Veraltet.

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
SetKey(ReadOnlySpan<Byte>)
Veraltet.

Legt den Schlüssel für diese Instanz fest.

(Geerbt von SymmetricAlgorithm)
SetKeyCore(ReadOnlySpan<Byte>)
Veraltet.

Legt den Schlüssel für diese Instanz fest.

(Geerbt von SymmetricAlgorithm)
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 in den angegebenen Puffer zu entschlüsseln, wobei der CBC-Modus mit dem angegebenen Abstandsmodus verwendet wird.

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

Wenn sie in einer abgeleiteten Klasse überschrieben werden, versucht, Daten in den angegebenen Puffer zu entschlüsseln, wobei der CBC-Modus mit dem angegebenen Abstandsmodus verwendet wird.

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

Versucht, Daten in den angegebenen Puffer zu entschlüsseln, wobei der CFB-Modus mit dem angegebenen Abstandsmodus und der Feedbackgröße verwendet wird.

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

Wenn sie in einer abgeleiteten Klasse überschrieben werden, versucht, Daten in den angegebenen Puffer zu entschlüsseln, wobei DER CFB-Modus mit dem angegebenen Abstandsmodus und der Feedbackgröße verwendet wird.

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

Versucht, Daten in den angegebenen Puffer zu entschlüsseln, wobei der ECB-Modus mit dem angegebenen Abstandsmodus verwendet wird.

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

Wenn sie in einer abgeleiteten Klasse überschrieben werden, versucht, Daten im angegebenen Puffer mithilfe des ECB-Modus mit dem angegebenen Abstandsmodus zu entschlüsseln.

(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 Abstandsmodus 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 mithilfe des CBC-Modus mit dem angegebenen Abstandsmodus zu verschlüsseln.

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

Versucht, Daten in den angegebenen Puffer zu verschlüsseln, wobei der CFB-Modus mit dem angegebenen Abstandsmodus und der Feedbackgröße verwendet wird.

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

Wenn sie in einer abgeleiteten Klasse überschrieben werden, versucht, Daten in den angegebenen Puffer zu verschlüsseln, wobei DER CFB-Modus mit dem angegebenen Abstandsmodus und der Feedbackgröße verwendet wird.

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

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

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

Wenn sie in einer abgeleiteten Klasse überschrieben werden, versucht, Daten im angegebenen Puffer mithilfe des ECB-Modus mit dem angegebenen Abstandsmodus 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

Name Beschreibung
IDisposable.Dispose()

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

Veraltet.

Gibt die nicht verwalteten Ressourcen frei, die von den SymmetricAlgorithm verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei.

(Geerbt von SymmetricAlgorithm)

Gilt für:

Weitere Informationen