DESCryptoServiceProvider Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Achtung
Derived cryptographic types are obsolete. Use the Create method on the base type instead.
Definiert ein Wrapperobjekt für den Zugriff auf die DES-Algorithmusversion (Data Encryption Standard) des Kryptografiedienstanbieters (Cryptographic Service Provider, CSP). Diese Klasse kann nicht vererbt werden.
public ref class DESCryptoServiceProvider sealed : System::Security::Cryptography::DES
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}")]
public sealed class DESCryptoServiceProvider : System.Security.Cryptography.DES
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DESCryptoServiceProvider : System.Security.Cryptography.DES
type DESCryptoServiceProvider = class
inherit 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
[<System.Runtime.InteropServices.ComVisible(true)>]
type DESCryptoServiceProvider = class
inherit DES
Public NotInheritable Class DESCryptoServiceProvider
Inherits DES
- Vererbung
- Attribute
Beispiele
Im folgenden Codebeispiel wird DESCryptoServiceProvider (eine Implementierung von DES) mit dem angegebenen Schlüssel (Key) und dem angegebenen Initialisierungsvektor (IV) verwendet, um eine durch inName
angegebene Datei zu verschlüsseln. Anschließend wird das verschlüsselte Ergebnis in die von outName
angegebene Datei ausgegeben.
void EncryptData( String^ inName, String^ outName, array<Byte>^desKey, array<Byte>^desIV )
{
//Create the file streams to handle the input and output files.
FileStream^ fin = gcnew FileStream( inName,FileMode::Open,FileAccess::Read );
FileStream^ fout = gcnew FileStream( outName,FileMode::OpenOrCreate,FileAccess::Write );
fout->SetLength( 0 );
//Create variables to help with read and write.
array<Byte>^bin = gcnew array<Byte>(100);
long rdlen = 0; //This is the total number of bytes written.
long totlen = (long)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 = gcnew DESCryptoServiceProvider;
CryptoStream^ encStream = gcnew 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 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
Die Entschlüsselung kann auf die gleiche Weise behandelt werden. anstelle von CreateEncryptorverwendenCreateDecryptor. Für die Entschlüsselung der Datei muss derselbe Schlüssel (Key) und derselbe Initialisierungsvektor (IV) verwendet werden.
Hinweise
Dieser Algorithmus unterstützt eine Schlüssellänge von 64 Bit.
Wichtig
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 Legacyanwendungen und -daten.
Konstruktoren
DESCryptoServiceProvider() |
Veraltet.
Initialisiert eine neue Instanz der DESCryptoServiceProvider-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. (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. (Geerbt von SymmetricAlgorithm) |
IV |
Veraltet.
Ruft den Initialisierungsvektor (IV) für den symmetrischen Algorithmus ab oder legt diesen fest. (Geerbt von SymmetricAlgorithm) |
Key |
Veraltet.
Ruft den geheimen Schlüssel für den DES-Algorithmus (Data Encryption Standard) ab oder legt ihn fest. (Geerbt von DES) |
KeySize |
Veraltet.
Ruft die Größe des geheimen Schlüssels für den symmetrischen Algorithmus in Bits ab oder legt diese fest. (Geerbt von SymmetricAlgorithm) |
LegalBlockSizes |
Veraltet.
Ruft die vom symmetrischen Algorithmus unterstützten Blockgrößen in Bits ab. (Geerbt von SymmetricAlgorithm) |
LegalKeySizes |
Veraltet.
Ruft die vom symmetrischen Algorithmus unterstützten Schlüsselgrößen in Bits ab. (Geerbt von SymmetricAlgorithm) |
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. (Geerbt von SymmetricAlgorithm) |
Methoden
Clear() |
Veraltet.
Gibt alle von der SymmetricAlgorithm-Klasse verwendeten Ressourcen frei. (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 DES-Entschlüsselungsobjekt (Data Encryption Standard) mit dem angegebenen Schlüssel (Key) und dem angegebenen Initialisierungsvektor (IV). |
CreateEncryptor() |
Veraltet.
Erstellt ein symmetrisches Verschlüsselungsobjekt mit der aktuellen Key-Eigenschaft und dem aktuellen Initialisierungsvektor (IV). |
CreateEncryptor() |
Veraltet.
Erstellt ein symmetrisches Verschlüsselungsobjekt mit der aktuellen Key-Eigenschaft und dem aktuellen Initialisierungsvektor (IV). (Geerbt von SymmetricAlgorithm) |
CreateEncryptor(Byte[], Byte[]) |
Veraltet.
Erstellt ein symmetrisches DES-Verschlüsselungsobjekt (Data Encryption Standard) mit dem angegebenen Schlüssel (Key) und dem angegebenen 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 Zufallsschlüssel (Key) 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) |