DESCryptoServiceProvider Třída

Definice

Upozornění

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

Definuje objekt obálky pro přístup k verzi poskytovatele kryptografických služeb (CSP) algoritmu Standard (DESData Encryption Standard). Tato třída se nemůže dědit.

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
Dědičnost
DESCryptoServiceProvider
Atributy

Příklady

Následující příklad kódu používá (implementace DESCryptoServiceProvider) se zadaným klíčem (DES) a inicializačním vektorem (Key) k zašifrování souboru určeného IV.inName Potom vypíše šifrovaný výsledek do souboru určeného 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

Dešifrování lze zpracovat stejným způsobem; místo CreateDecryptor .CreateEncryptor K dešifrování souboru se musí použít stejný klíč (Key) a inicializační vektor (IV) použitý k šifrování souboru.

Poznámky

Tento algoritmus podporuje délku klíče 64 bitů.

Important

K dispozici je novější symetrický šifrovací algoritmus AES (Advanced Encryption Standard). Zvažte použití Aes třídy místo DES třídy. Používejte DES pouze kvůli kompatibilitě se staršími aplikacemi a daty.

Konstruktory

Name Description
DESCryptoServiceProvider()
Zastaralé.

Inicializuje novou instanci DESCryptoServiceProvider třídy.

Pole

Name Description
BlockSizeValue
Zastaralé.

Představuje velikost bloku kryptografické operace v bitech.

(Zděděno od SymmetricAlgorithm)
FeedbackSizeValue
Zastaralé.

Představuje velikost zpětné vazby v bitech kryptografické operace.

(Zděděno od SymmetricAlgorithm)
IVValue
Zastaralé.

Představuje inicializační vektor (IV) pro symetrický algoritmus.

(Zděděno od SymmetricAlgorithm)
KeySizeValue
Zastaralé.

Představuje velikost tajného klíče používaného symetrickým algoritmem v bitech.

(Zděděno od SymmetricAlgorithm)
KeyValue
Zastaralé.

Představuje tajný klíč pro symetrický algoritmus.

(Zděděno od SymmetricAlgorithm)
LegalBlockSizesValue
Zastaralé.

Určuje velikosti bloků v bitech, které jsou podporovány symetrickým algoritmem.

(Zděděno od SymmetricAlgorithm)
LegalKeySizesValue
Zastaralé.

Určuje velikosti klíčů v bitech, které podporuje symetrický algoritmus.

(Zděděno od SymmetricAlgorithm)
ModeValue
Zastaralé.

Představuje režim šifry používaný v symetrickém algoritmu.

(Zděděno od SymmetricAlgorithm)
PaddingValue
Zastaralé.

Představuje režim odsazení použitý v symetrickém algoritmu.

(Zděděno od SymmetricAlgorithm)

Vlastnosti

Name Description
BlockSize
Zastaralé.

Získá nebo nastaví velikost bloku v bitech kryptografické operace.

(Zděděno od SymmetricAlgorithm)
FeedbackSize
Zastaralé.

Získá nebo nastaví velikost zpětné vazby v bitech kryptografické operace pro šifrovou zpětnou vazbu (CFB) a výstupní zpětné vazby (OFB) režimy šifry.

(Zděděno od SymmetricAlgorithm)
IV
Zastaralé.

Získá nebo nastaví inicializační vektor (IV) pro symetrický algoritmus.

(Zděděno od SymmetricAlgorithm)
Key
Zastaralé.

Získá nebo nastaví tajný klíč pro algoritmus standardu šifrování dat (DES).

(Zděděno od DES)
KeySize
Zastaralé.

Získá nebo nastaví velikost tajného klíče používaného symetrickým algoritmem v bitech.

(Zděděno od SymmetricAlgorithm)
LegalBlockSizes
Zastaralé.

Získá velikosti bloků v bitech, které jsou podporovány symetrickým algoritmem.

(Zděděno od SymmetricAlgorithm)
LegalKeySizes
Zastaralé.

Získá velikosti klíčů v bitech, které jsou podporovány symetrickým algoritmem.

(Zděděno od SymmetricAlgorithm)
Mode
Zastaralé.

Získá nebo nastaví režim pro provoz symetrického algoritmu.

(Zděděno od SymmetricAlgorithm)
Padding
Zastaralé.

Získá nebo nastaví režim odsazení použitý v symetrický algoritmus.

(Zděděno od SymmetricAlgorithm)

Metody

Name Description
Clear()
Zastaralé.

Uvolní všechny prostředky používané SymmetricAlgorithm třídou.

(Zděděno od SymmetricAlgorithm)
CreateDecryptor()
Zastaralé.

Vytvoří symetrický dešifrovací objekt s aktuální Key vlastností a inicializačním vektorem (IV).

CreateDecryptor()
Zastaralé.

Vytvoří symetrický dešifrovací objekt s aktuální Key vlastností a inicializačním vektorem (IV).

(Zděděno od SymmetricAlgorithm)
CreateDecryptor(Byte[], Byte[])
Zastaralé.

Vytvoří objekt dešifrovače symetrického šifrováníDES dat se zadaným klíčem (Key) a inicializačním vektorem (IV).

CreateEncryptor()
Zastaralé.

Vytvoří symetrický objekt encryptoru s aktuální Key vlastností a inicializační vektor (IV).

CreateEncryptor()
Zastaralé.

Vytvoří symetrický objekt encryptoru s aktuální Key vlastností a inicializační vektor (IV).

(Zděděno od SymmetricAlgorithm)
CreateEncryptor(Byte[], Byte[])
Zastaralé.

Vytvoří objekt šifrování symetrických dat Standard (DES) se zadaným klíčem (Key) a inicializačním vektorem (IV).

DecryptCbc(Byte[], Byte[], PaddingMode)
Zastaralé.

Dešifruje data pomocí režimu CBC se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode)
Zastaralé.

Dešifruje data pomocí režimu CBC se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Zastaralé.

Dešifruje data do zadané vyrovnávací paměti pomocí režimu CBC se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
DecryptCfb(Byte[], Byte[], PaddingMode, Int32)
Zastaralé.

Dešifruje data pomocí režimu CFB se zadaným režimem odsazení a velikostí zpětné vazby.

(Zděděno od SymmetricAlgorithm)
DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32)
Zastaralé.

Dešifruje data pomocí režimu CFB se zadaným režimem odsazení a velikostí zpětné vazby.

(Zděděno od SymmetricAlgorithm)
DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Zastaralé.

Dešifruje data do zadané vyrovnávací paměti pomocí režimu CFB se zadaným režimem odsazení a velikostí zpětné vazby.

(Zděděno od SymmetricAlgorithm)
DecryptEcb(Byte[], PaddingMode)
Zastaralé.

Dešifruje data pomocí režimu ECB se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
DecryptEcb(ReadOnlySpan<Byte>, PaddingMode)
Zastaralé.

Dešifruje data pomocí režimu ECB se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
DecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Zastaralé.

Dešifruje data do zadané vyrovnávací paměti pomocí režimu ECB se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
Dispose()
Zastaralé.

Uvolní všechny prostředky používané aktuální instancí SymmetricAlgorithm třídy.

(Zděděno od SymmetricAlgorithm)
Dispose(Boolean)
Zastaralé.

Uvolní nespravované prostředky používané SymmetricAlgorithm a volitelně uvolní spravované prostředky.

(Zděděno od SymmetricAlgorithm)
EncryptCbc(Byte[], Byte[], PaddingMode)
Zastaralé.

Šifruje data pomocí režimu CBC se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode)
Zastaralé.

Šifruje data pomocí režimu CBC se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Zastaralé.

Zašifruje data do zadané vyrovnávací paměti pomocí režimu CBC se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
EncryptCfb(Byte[], Byte[], PaddingMode, Int32)
Zastaralé.

Šifruje data pomocí režimu CFB se zadaným režimem odsazení a velikostí zpětné vazby.

(Zděděno od SymmetricAlgorithm)
EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32)
Zastaralé.

Šifruje data pomocí režimu CFB se zadaným režimem odsazení a velikostí zpětné vazby.

(Zděděno od SymmetricAlgorithm)
EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Zastaralé.

Šifruje data do zadané vyrovnávací paměti pomocí režimu CFB se zadaným režimem odsazení a velikostí zpětné vazby.

(Zděděno od SymmetricAlgorithm)
EncryptEcb(Byte[], PaddingMode)
Zastaralé.

Šifruje data pomocí režimu ECB se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
EncryptEcb(ReadOnlySpan<Byte>, PaddingMode)
Zastaralé.

Šifruje data pomocí režimu ECB se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
EncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Zastaralé.

Šifruje data do zadané vyrovnávací paměti pomocí režimu ECB se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
Equals(Object)
Zastaralé.

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GenerateIV()
Zastaralé.

Vygeneruje náhodný inicializační vektor (IV), který se použije pro algoritmus.

GenerateKey()
Zastaralé.

Vygeneruje náhodný klíč (Key), který se použije pro algoritmus.

GetCiphertextLengthCbc(Int32, PaddingMode)
Zastaralé.

Získá délku šifertextu s daným režimem odsazení a délkou prostého textu v režimu CBC.

(Zděděno od SymmetricAlgorithm)
GetCiphertextLengthCfb(Int32, PaddingMode, Int32)
Zastaralé.

Získá délku šifertextu s daným režimem odsazení a délkou prostého textu v režimu CFB.

(Zděděno od SymmetricAlgorithm)
GetCiphertextLengthEcb(Int32, PaddingMode)
Zastaralé.

Získá délku šifertextu s daným režimem odsazení a délkou prostého textu v režimu ECB.

(Zděděno od SymmetricAlgorithm)
GetHashCode()
Zastaralé.

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()
Zastaralé.

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()
Zastaralé.

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
SetKey(ReadOnlySpan<Byte>)
Zastaralé.

Nastaví klíč pro tuto instanci.

(Zděděno od SymmetricAlgorithm)
SetKeyCore(ReadOnlySpan<Byte>)
Zastaralé.

Nastaví klíč pro tuto instanci.

(Zděděno od SymmetricAlgorithm)
ToString()
Zastaralé.

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TryDecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode)
Zastaralé.

Pokusí se dešifrovat data do zadané vyrovnávací paměti pomocí režimu CBC se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
TryDecryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Zastaralé.

Při přepsání v odvozené třídě se pokusí dešifrovat data do zadané vyrovnávací paměti pomocí režimu CBC se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
TryDecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32)
Zastaralé.

Pokusí se dešifrovat data do zadané vyrovnávací paměti pomocí režimu CFB se zadaným režimem odsazení a velikostí zpětné vazby.

(Zděděno od SymmetricAlgorithm)
TryDecryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32)
Zastaralé.

Při přepsání v odvozené třídě se pokusí dešifrovat data do zadané vyrovnávací paměti pomocí režimu CFB se zadaným režimem odsazení a velikost zpětné vazby.

(Zděděno od SymmetricAlgorithm)
TryDecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Zastaralé.

Pokusí se dešifrovat data do zadané vyrovnávací paměti pomocí režimu ECB se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
TryDecryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Zastaralé.

Při přepsání v odvozené třídě se pokusí dešifrovat data do zadané vyrovnávací paměti pomocí režimu ECB se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
TryEncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode)
Zastaralé.

Pokusí se šifrovat data do zadané vyrovnávací paměti pomocí režimu CBC se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
TryEncryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Zastaralé.

Při přepsání v odvozené třídě se pokusí zašifrovat data do zadané vyrovnávací paměti pomocí režimu CBC se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
TryEncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32)
Zastaralé.

Pokusí se šifrovat data do zadané vyrovnávací paměti pomocí režimu CFB se zadaným režimem odsazení a velikostí zpětné vazby.

(Zděděno od SymmetricAlgorithm)
TryEncryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32)
Zastaralé.

Při přepsání v odvozené třídě se pokusí šifrovat data do zadané vyrovnávací paměti pomocí režimu CFB se zadaným režimem odsazení a velikost zpětné vazby.

(Zděděno od SymmetricAlgorithm)
TryEncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Zastaralé.

Pokusí se šifrovat data do zadané vyrovnávací paměti pomocí režimu ECB se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
TryEncryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Zastaralé.

Při přepsání v odvozené třídě se pokusí zašifrovat data do zadané vyrovnávací paměti pomocí režimu ECB se zadaným režimem odsazení.

(Zděděno od SymmetricAlgorithm)
ValidKeySize(Int32)
Zastaralé.

Určuje, zda je zadaná velikost klíče platná pro aktuální algoritmus.

(Zděděno od SymmetricAlgorithm)

Explicitní implementace rozhraní

Name Description
IDisposable.Dispose()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Zastaralé.

Uvolní nespravované prostředky používané SymmetricAlgorithm a volitelně uvolní spravované prostředky.

(Zděděno od SymmetricAlgorithm)

Platí pro

Viz také