DESCryptoServiceProvider Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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) |