DESCryptoServiceProvider Klass

Definition

Varning

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

Definierar ett omslutningsobjekt för åtkomst till csp-versionen (cryptographic service provider) av algoritmen Data Encryption Standard (DES). Det går inte att ärva den här klassen.

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
Arv
DESCryptoServiceProvider
Attribut

Exempel

I följande kodexempel används DESCryptoServiceProvider (en implementering av DES) med den angivna nyckeln (Key) och initieringsvektorn (IV) för att kryptera en fil som anges av inName. Sedan matas det krypterade resultatet ut till filen som anges av 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

Dekryptering kan hanteras på samma sätt. använd CreateDecryptor i stället för CreateEncryptor. Samma nyckel (Key) och initieringsvektor (IV) som används för att kryptera filen måste användas för att dekryptera den.

Kommentarer

Den här algoritmen stöder en nyckellängd på 64 bitar.

Important

En nyare symmetrisk krypteringsalgoritm, Advanced Encryption Standard (AES), är tillgänglig. Överväg att Aes använda klassen i stället för DES klassen. Använd DES endast för kompatibilitet med äldre program och data.

Konstruktorer

Name Description
DESCryptoServiceProvider()
Föråldrad.

Initierar en ny instans av DESCryptoServiceProvider klassen.

Fält

Name Description
BlockSizeValue
Föråldrad.

Representerar blockstorleken i bitar för den kryptografiska åtgärden.

(Ärvd från SymmetricAlgorithm)
FeedbackSizeValue
Föråldrad.

Representerar feedbackstorleken i bitar för den kryptografiska åtgärden.

(Ärvd från SymmetricAlgorithm)
IVValue
Föråldrad.

Representerar initieringsvektorn (IV) för den symmetriska algoritmen.

(Ärvd från SymmetricAlgorithm)
KeySizeValue
Föråldrad.

Representerar storleken, i bitar, på den hemliga nyckel som används av den symmetriska algoritmen.

(Ärvd från SymmetricAlgorithm)
KeyValue
Föråldrad.

Representerar den hemliga nyckeln för den symmetriska algoritmen.

(Ärvd från SymmetricAlgorithm)
LegalBlockSizesValue
Föråldrad.

Anger de blockstorlekar i bitar som stöds av den symmetriska algoritmen.

(Ärvd från SymmetricAlgorithm)
LegalKeySizesValue
Föråldrad.

Anger de nyckelstorlekar i bitar som stöds av den symmetriska algoritmen.

(Ärvd från SymmetricAlgorithm)
ModeValue
Föråldrad.

Representerar chifferläget som används i den symmetriska algoritmen.

(Ärvd från SymmetricAlgorithm)
PaddingValue
Föråldrad.

Representerar utfyllnadsläget som används i den symmetriska algoritmen.

(Ärvd från SymmetricAlgorithm)

Egenskaper

Name Description
BlockSize
Föråldrad.

Hämtar eller anger blockstorleken i bitar för den kryptografiska åtgärden.

(Ärvd från SymmetricAlgorithm)
FeedbackSize
Föråldrad.

Hämtar eller anger feedbackstorleken i bitar för krypteringsåtgärden för chifferfeedback (CFB) och UTdatafeedback (OFB).

(Ärvd från SymmetricAlgorithm)
IV
Föråldrad.

Hämtar eller anger initieringsvektorn (IV) för den symmetriska algoritmen.

(Ärvd från SymmetricAlgorithm)
Key
Föråldrad.

Hämtar eller anger den hemliga nyckeln för algoritmen Data Encryption Standard (DES).

(Ärvd från DES)
KeySize
Föråldrad.

Hämtar eller anger storleken, i bitar, på den hemliga nyckel som används av den symmetriska algoritmen.

(Ärvd från SymmetricAlgorithm)
LegalBlockSizes
Föråldrad.

Hämtar blockstorlekarna i bitar som stöds av den symmetriska algoritmen.

(Ärvd från SymmetricAlgorithm)
LegalKeySizes
Föråldrad.

Hämtar de nyckelstorlekar, i bitar, som stöds av den symmetriska algoritmen.

(Ärvd från SymmetricAlgorithm)
Mode
Föråldrad.

Hämtar eller anger läget för drift av den symmetriska algoritmen.

(Ärvd från SymmetricAlgorithm)
Padding
Föråldrad.

Hämtar eller anger utfyllnadsläget som används i den symmetriska algoritmen.

(Ärvd från SymmetricAlgorithm)

Metoder

Name Description
Clear()
Föråldrad.

Släpper alla resurser som används av SymmetricAlgorithm klassen.

(Ärvd från SymmetricAlgorithm)
CreateDecryptor()
Föråldrad.

Skapar ett symmetriskt dekrypteringsobjekt med den aktuella Key egenskapen och initieringsvektorn (IV).

CreateDecryptor()
Föråldrad.

Skapar ett symmetriskt dekrypteringsobjekt med den aktuella Key egenskapen och initieringsvektorn (IV).

(Ärvd från SymmetricAlgorithm)
CreateDecryptor(Byte[], Byte[])
Föråldrad.

Skapar ett dekrypteringsobjekt för symmetrisk datakryptering (DES) med den angivna nyckeln (Key) och initieringsvektorn (IV).

CreateEncryptor()
Föråldrad.

Skapar ett symmetriskt krypteringsobjekt med den aktuella Key egenskapen och initieringsvektorn (IV).

CreateEncryptor()
Föråldrad.

Skapar ett symmetriskt krypteringsobjekt med den aktuella Key egenskapen och initieringsvektorn (IV).

(Ärvd från SymmetricAlgorithm)
CreateEncryptor(Byte[], Byte[])
Föråldrad.

Skapar ett krypteringsobjekt för symmetrisk datakryptering (DES) med den angivna nyckeln (Key) och initieringsvektorn (IV).

DecryptCbc(Byte[], Byte[], PaddingMode)
Föråldrad.

Dekrypterar data med CBC-läge med det angivna utfyllnadsläget.

(Ärvd från SymmetricAlgorithm)
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode)
Föråldrad.

Dekrypterar data med CBC-läge med det angivna utfyllnadsläget.

(Ärvd från SymmetricAlgorithm)
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Föråldrad.

Dekrypterar data till den angivna bufferten med hjälp av CBC-läge med det angivna utfyllnadsläget.

(Ärvd från SymmetricAlgorithm)
DecryptCfb(Byte[], Byte[], PaddingMode, Int32)
Föråldrad.

Dekrypterar data med CFB-läge med angivet utfyllnadsläge och feedbackstorlek.

(Ärvd från SymmetricAlgorithm)
DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32)
Föråldrad.

Dekrypterar data med CFB-läge med angivet utfyllnadsläge och feedbackstorlek.

(Ärvd från SymmetricAlgorithm)
DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Föråldrad.

Dekrypterar data till den angivna bufferten med CFB-läge med angivet utfyllnadsläge och feedbackstorlek.

(Ärvd från SymmetricAlgorithm)
DecryptEcb(Byte[], PaddingMode)
Föråldrad.

Dekrypterar data med ECB-läge med angivet utfyllnadsläge.

(Ärvd från SymmetricAlgorithm)
DecryptEcb(ReadOnlySpan<Byte>, PaddingMode)
Föråldrad.

Dekrypterar data med ECB-läge med angivet utfyllnadsläge.

(Ärvd från SymmetricAlgorithm)
DecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Föråldrad.

Dekrypterar data till den angivna bufferten med hjälp av ECB-läge med angivet utfyllnadsläge.

(Ärvd från SymmetricAlgorithm)
Dispose()
Föråldrad.

Släpper alla resurser som används av den aktuella instansen SymmetricAlgorithm av klassen.

(Ärvd från SymmetricAlgorithm)
Dispose(Boolean)
Föråldrad.

Släpper de ohanterade resurser som används av SymmetricAlgorithm och släpper eventuellt de hanterade resurserna.

(Ärvd från SymmetricAlgorithm)
EncryptCbc(Byte[], Byte[], PaddingMode)
Föråldrad.

Krypterar data med CBC-läge med det angivna utfyllnadsläget.

(Ärvd från SymmetricAlgorithm)
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode)
Föråldrad.

Krypterar data med CBC-läge med det angivna utfyllnadsläget.

(Ärvd från SymmetricAlgorithm)
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Föråldrad.

Krypterar data till den angivna bufferten med hjälp av CBC-läge med det angivna utfyllnadsläget.

(Ärvd från SymmetricAlgorithm)
EncryptCfb(Byte[], Byte[], PaddingMode, Int32)
Föråldrad.

Krypterar data med CFB-läge med angivet utfyllnadsläge och feedbackstorlek.

(Ärvd från SymmetricAlgorithm)
EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32)
Föråldrad.

Krypterar data med CFB-läge med angivet utfyllnadsläge och feedbackstorlek.

(Ärvd från SymmetricAlgorithm)
EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Föråldrad.

Krypterar data till den angivna bufferten med CFB-läge med angivet utfyllnadsläge och feedbackstorlek.

(Ärvd från SymmetricAlgorithm)
EncryptEcb(Byte[], PaddingMode)
Föråldrad.

Krypterar data med ECB-läge med angivet utfyllnadsläge.

(Ärvd från SymmetricAlgorithm)
EncryptEcb(ReadOnlySpan<Byte>, PaddingMode)
Föråldrad.

Krypterar data med ECB-läge med angivet utfyllnadsläge.

(Ärvd från SymmetricAlgorithm)
EncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Föråldrad.

Krypterar data till den angivna bufferten med hjälp av ECB-läge med angivet utfyllnadsläge.

(Ärvd från SymmetricAlgorithm)
Equals(Object)
Föråldrad.

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GenerateIV()
Föråldrad.

Genererar en slumpmässig initieringsvektor (IV) som ska användas för algoritmen.

GenerateKey()
Föråldrad.

Genererar en slumpmässig nyckel (Key) som ska användas för algoritmen.

GetCiphertextLengthCbc(Int32, PaddingMode)
Föråldrad.

Hämtar längden på en chiffertext med ett angivet utfyllnadsläge och klartextlängd i CBC-läge.

(Ärvd från SymmetricAlgorithm)
GetCiphertextLengthCfb(Int32, PaddingMode, Int32)
Föråldrad.

Hämtar längden på en chiffertext med ett angivet utfyllnadsläge och klartextlängd i CFB-läge.

(Ärvd från SymmetricAlgorithm)
GetCiphertextLengthEcb(Int32, PaddingMode)
Föråldrad.

Hämtar längden på en chiffertext med ett angivet utfyllnadsläge och klartextlängd i ECB-läge.

(Ärvd från SymmetricAlgorithm)
GetHashCode()
Föråldrad.

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()
Föråldrad.

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()
Föråldrad.

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
SetKey(ReadOnlySpan<Byte>)
Föråldrad.

Anger nyckeln för den här instansen.

(Ärvd från SymmetricAlgorithm)
SetKeyCore(ReadOnlySpan<Byte>)
Föråldrad.

Anger nyckeln för den här instansen.

(Ärvd från SymmetricAlgorithm)
ToString()
Föråldrad.

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
TryDecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode)
Föråldrad.

Försöker dekryptera data till den angivna bufferten med hjälp av CBC-läge med det angivna utfyllnadsläget.

(Ärvd från SymmetricAlgorithm)
TryDecryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Föråldrad.

När de åsidosätts i en härledd klass försöker dekryptera data till den angivna bufferten med hjälp av CBC-läge med det angivna utfyllnadsläget.

(Ärvd från SymmetricAlgorithm)
TryDecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32)
Föråldrad.

Försöker dekryptera data till den angivna bufferten med CFB-läge med angivet utfyllnadsläge och feedbackstorlek.

(Ärvd från SymmetricAlgorithm)
TryDecryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32)
Föråldrad.

När de åsidosättas i en härledd klass försöker dekryptera data till den angivna bufferten med cfb-läge med angivet utfyllnadsläge och feedbackstorlek.

(Ärvd från SymmetricAlgorithm)
TryDecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Föråldrad.

Försöker dekryptera data till den angivna bufferten med hjälp av ECB-läge med angivet utfyllnadsläge.

(Ärvd från SymmetricAlgorithm)
TryDecryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Föråldrad.

När de åsidosättas i en härledd klass försöker dekryptera data till den angivna bufferten med hjälp av ECB-läge med det angivna utfyllnadsläget.

(Ärvd från SymmetricAlgorithm)
TryEncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode)
Föråldrad.

Försöker kryptera data till den angivna bufferten med hjälp av CBC-läge med det angivna utfyllnadsläget.

(Ärvd från SymmetricAlgorithm)
TryEncryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Föråldrad.

När de åsidosätts i en härledd klass försöker kryptera data till den angivna bufferten med hjälp av CBC-läge med det angivna utfyllnadsläget.

(Ärvd från SymmetricAlgorithm)
TryEncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32)
Föråldrad.

Försöker kryptera data till den angivna bufferten med CFB-läge med angivet utfyllnadsläge och feedbackstorlek.

(Ärvd från SymmetricAlgorithm)
TryEncryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32)
Föråldrad.

När de åsidosättas i en härledd klass, försöker kryptera data till den angivna bufferten med cfb-läge med det angivna utfyllnadsläget och feedbackstorleken.

(Ärvd från SymmetricAlgorithm)
TryEncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Föråldrad.

Försöker kryptera data till den angivna bufferten med hjälp av ECB-läge med det angivna utfyllnadsläget.

(Ärvd från SymmetricAlgorithm)
TryEncryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Föråldrad.

När de åsidosättas i en härledd klass, försöker kryptera data till den angivna bufferten med hjälp av ECB-läge med det angivna utfyllnadsläget.

(Ärvd från SymmetricAlgorithm)
ValidKeySize(Int32)
Föråldrad.

Avgör om den angivna nyckelstorleken är giltig för den aktuella algoritmen.

(Ärvd från SymmetricAlgorithm)

Explicita gränssnittsimplementeringar

Name Description
IDisposable.Dispose()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Föråldrad.

Släpper de ohanterade resurser som används av SymmetricAlgorithm och släpper eventuellt de hanterade resurserna.

(Ärvd från SymmetricAlgorithm)

Gäller för

Se även