Udostępnij za pośrednictwem


DESCryptoServiceProvider Klasa

Definicja

Przestroga

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

Definiuje obiekt otoki w celu uzyskania dostępu do wersji dostawcy usług kryptograficznych (DESCSP) algorytmu Standard () szyfrowania danych. Klasa ta nie może być dziedziczona.

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
Dziedziczenie
DESCryptoServiceProvider
Atrybuty

Przykłady

Poniższy przykład kodu używa (implementacji DES) z określonym kluczem (Key) i wektorem inicjowania (IV) w celu zaszyfrowania pliku określonego przez inName.DESCryptoServiceProvider Następnie zwraca zaszyfrowany wynik do pliku określonego przez outName.

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

Odszyfrowywanie można obsłużyć w taki sam sposób; użyj CreateDecryptor polecenia zamiast CreateEncryptor. Ten sam klucz () i wektor inicjalizacji (KeyIV) używany do szyfrowania pliku musi być używany do odszyfrowywania.

Uwagi

Ten algorytm obsługuje długość klucza 64 bitów.

Ważne

Dostępny jest nowszy algorytm szyfrowania symetrycznego, Advanced Encryption Standard (AES). Rozważ użycie Aes klasy zamiast DES klasy . Użyj DES tylko w celu zapewnienia zgodności ze starszymi aplikacjami i danymi.

Konstruktory

DESCryptoServiceProvider()
Przestarzałe.

Inicjuje nowe wystąpienie klasy DESCryptoServiceProvider.

Pola

BlockSizeValue
Przestarzałe.

Reprezentuje rozmiar bloku w bitach operacji kryptograficznych.

(Odziedziczone po SymmetricAlgorithm)
FeedbackSizeValue
Przestarzałe.

Reprezentuje rozmiar opinii w bitach operacji kryptograficznych.

(Odziedziczone po SymmetricAlgorithm)
IVValue
Przestarzałe.

Reprezentuje wektor inicjowania (IV) dla algorytmu symetrycznego.

(Odziedziczone po SymmetricAlgorithm)
KeySizeValue
Przestarzałe.

Reprezentuje rozmiar w bitach klucza tajnego używanego przez algorytm symetryczny.

(Odziedziczone po SymmetricAlgorithm)
KeyValue
Przestarzałe.

Reprezentuje klucz tajny dla algorytmu symetrycznego.

(Odziedziczone po SymmetricAlgorithm)
LegalBlockSizesValue
Przestarzałe.

Określa rozmiary bloków w bitach, które są obsługiwane przez algorytm symetryczny.

(Odziedziczone po SymmetricAlgorithm)
LegalKeySizesValue
Przestarzałe.

Określa rozmiary kluczy w bitach obsługiwane przez algorytm symetryczny.

(Odziedziczone po SymmetricAlgorithm)
ModeValue
Przestarzałe.

Reprezentuje tryb szyfrowania używany w algorytmie symetrycznym.

(Odziedziczone po SymmetricAlgorithm)
PaddingValue
Przestarzałe.

Reprezentuje tryb dopełniania używany w algorytmie symetrycznym.

(Odziedziczone po SymmetricAlgorithm)

Właściwości

BlockSize
Przestarzałe.

Pobiera lub ustawia rozmiar bloku w bitach operacji kryptograficznych.

(Odziedziczone po SymmetricAlgorithm)
FeedbackSize
Przestarzałe.

Pobiera lub ustawia rozmiar opinii w bitach operacji kryptograficznych dla trybów szyfrowania opinii (CFB) i szyfrowania danych wyjściowych (OFB).

(Odziedziczone po SymmetricAlgorithm)
IV
Przestarzałe.

Pobiera lub ustawia wektor inicjowania (IV) dla algorytmu symetrycznego.

(Odziedziczone po SymmetricAlgorithm)
Key
Przestarzałe.

Pobiera lub ustawia klucz tajny algorytmu StandardDES () szyfrowania danych.

(Odziedziczone po DES)
KeySize
Przestarzałe.

Pobiera lub ustawia rozmiar klucza tajnego używanego przez algorytm symetryczny.

(Odziedziczone po SymmetricAlgorithm)
LegalBlockSizes
Przestarzałe.

Pobiera rozmiary bloków w bitach, które są obsługiwane przez algorytm symetryczny.

(Odziedziczone po SymmetricAlgorithm)
LegalKeySizes
Przestarzałe.

Pobiera rozmiary kluczy w bitach, które są obsługiwane przez algorytm symetryczny.

(Odziedziczone po SymmetricAlgorithm)
Mode
Przestarzałe.

Pobiera lub ustawia tryb działania algorytmu symetrycznego.

(Odziedziczone po SymmetricAlgorithm)
Padding
Przestarzałe.

Pobiera lub ustawia tryb dopełniania używany w algorytmie symetrycznym.

(Odziedziczone po SymmetricAlgorithm)

Metody

Clear()
Przestarzałe.

Zwalnia wszystkie zasoby używane przez klasę SymmetricAlgorithm .

(Odziedziczone po SymmetricAlgorithm)
CreateDecryptor()
Przestarzałe.

Tworzy obiekt odszyfrowywania symetrycznego z bieżącą Key właściwością i wektorem inicjowania (IV).

CreateDecryptor()
Przestarzałe.

Tworzy obiekt odszyfrowywania symetrycznego z bieżącą Key właściwością i wektorem inicjowania (IV).

(Odziedziczone po SymmetricAlgorithm)
CreateDecryptor(Byte[], Byte[])
Przestarzałe.

Tworzy obiekt odszyfrowywania danych symetrycznych w warstwie Standardowa () z określonym kluczem (DESKey) i wektorem inicjalizacji (IV).

CreateEncryptor()
Przestarzałe.

Tworzy obiekt szyfrowania symetrycznego z bieżącą Key właściwością i wektorem inicjowania (IV).

CreateEncryptor()
Przestarzałe.

Tworzy obiekt szyfrowania symetrycznego z bieżącą Key właściwością i wektorem inicjowania (IV).

(Odziedziczone po SymmetricAlgorithm)
CreateEncryptor(Byte[], Byte[])
Przestarzałe.

Tworzy obiekt szyfrowania danych symetrycznych w warstwie Standardowa () z określonym kluczem (DESKey) i wektorem inicjowania (IV).

DecryptCbc(Byte[], Byte[], PaddingMode)
Przestarzałe.

Odszyfrowuje dane przy użyciu trybu CBC z określonym trybem dopełniania.

(Odziedziczone po SymmetricAlgorithm)
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode)
Przestarzałe.

Odszyfrowuje dane przy użyciu trybu CBC z określonym trybem dopełniania.

(Odziedziczone po SymmetricAlgorithm)
DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Przestarzałe.

Odszyfrowuje dane do określonego buforu przy użyciu trybu CBC z określonym trybem wypełniania.

(Odziedziczone po SymmetricAlgorithm)
DecryptCfb(Byte[], Byte[], PaddingMode, Int32)
Przestarzałe.

Odszyfrowuje dane przy użyciu trybu CFB z określonym trybem wypełniania i rozmiarem opinii.

(Odziedziczone po SymmetricAlgorithm)
DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32)
Przestarzałe.

Odszyfrowuje dane przy użyciu trybu CFB z określonym trybem wypełniania i rozmiarem opinii.

(Odziedziczone po SymmetricAlgorithm)
DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Przestarzałe.

Odszyfrowuje dane do określonego buforu przy użyciu trybu CFB z określonym trybem wypełniania i rozmiarem opinii.

(Odziedziczone po SymmetricAlgorithm)
DecryptEcb(Byte[], PaddingMode)
Przestarzałe.

Odszyfrowuje dane przy użyciu trybu EBC z określonym trybem dopełniania.

(Odziedziczone po SymmetricAlgorithm)
DecryptEcb(ReadOnlySpan<Byte>, PaddingMode)
Przestarzałe.

Odszyfrowuje dane przy użyciu trybu EBC z określonym trybem dopełniania.

(Odziedziczone po SymmetricAlgorithm)
DecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Przestarzałe.

Odszyfrowuje dane do określonego buforu przy użyciu trybu EBC z określonym trybem wypełniania.

(Odziedziczone po SymmetricAlgorithm)
Dispose()
Przestarzałe.

Zwalnia wszystkie zasoby używane przez bieżące wystąpienie klasy SymmetricAlgorithm.

(Odziedziczone po SymmetricAlgorithm)
Dispose(Boolean)
Przestarzałe.

Zwalnia zasoby niezarządzane używane przez element SymmetricAlgorithm i opcjonalnie zwalnia zasoby zarządzane.

(Odziedziczone po SymmetricAlgorithm)
EncryptCbc(Byte[], Byte[], PaddingMode)
Przestarzałe.

Szyfruje dane przy użyciu trybu CBC z określonym trybem dopełniania.

(Odziedziczone po SymmetricAlgorithm)
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode)
Przestarzałe.

Szyfruje dane przy użyciu trybu CBC z określonym trybem dopełniania.

(Odziedziczone po SymmetricAlgorithm)
EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Przestarzałe.

Szyfruje dane do określonego buforu przy użyciu trybu CBC z określonym trybem wypełniania.

(Odziedziczone po SymmetricAlgorithm)
EncryptCfb(Byte[], Byte[], PaddingMode, Int32)
Przestarzałe.

Szyfruje dane przy użyciu trybu CFB z określonym trybem wypełniania i rozmiarem opinii.

(Odziedziczone po SymmetricAlgorithm)
EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32)
Przestarzałe.

Szyfruje dane przy użyciu trybu CFB z określonym trybem wypełniania i rozmiarem opinii.

(Odziedziczone po SymmetricAlgorithm)
EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Przestarzałe.

Szyfruje dane do określonego buforu przy użyciu trybu CFB z określonym trybem wypełniania i rozmiarem opinii.

(Odziedziczone po SymmetricAlgorithm)
EncryptEcb(Byte[], PaddingMode)
Przestarzałe.

Szyfruje dane przy użyciu trybu EBC z określonym trybem dopełniania.

(Odziedziczone po SymmetricAlgorithm)
EncryptEcb(ReadOnlySpan<Byte>, PaddingMode)
Przestarzałe.

Szyfruje dane przy użyciu trybu EBC z określonym trybem dopełniania.

(Odziedziczone po SymmetricAlgorithm)
EncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode)
Przestarzałe.

Szyfruje dane do określonego buforu przy użyciu trybu EBC z określonym trybem wypełniania.

(Odziedziczone po SymmetricAlgorithm)
Equals(Object)
Przestarzałe.

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GenerateIV()
Przestarzałe.

Generuje losowy wektor inicjowania (IV) do użycia dla algorytmu.

GenerateKey()
Przestarzałe.

Generuje losowy klucz (Key), który ma być używany dla algorytmu.

GetCiphertextLengthCbc(Int32, PaddingMode)
Przestarzałe.

Pobiera długość szyfrowania tekstu z danym trybem dopełniania i długością zwykłego tekstu w trybie CBC.

(Odziedziczone po SymmetricAlgorithm)
GetCiphertextLengthCfb(Int32, PaddingMode, Int32)
Przestarzałe.

Pobiera długość szyfrowania tekstu z danym trybem dopełniania i długością zwykłego tekstu w trybie CFB.

(Odziedziczone po SymmetricAlgorithm)
GetCiphertextLengthEcb(Int32, PaddingMode)
Przestarzałe.

Pobiera długość szyfrowania tekstu z danym trybem dopełniania i długością zwykłego tekstu w trybie EBC.

(Odziedziczone po SymmetricAlgorithm)
GetHashCode()
Przestarzałe.

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()
Przestarzałe.

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()
Przestarzałe.

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()
Przestarzałe.

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TryDecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode)
Przestarzałe.

Próbuje odszyfrować dane do określonego buforu przy użyciu trybu CBC z określonym trybem dopełniania.

(Odziedziczone po SymmetricAlgorithm)
TryDecryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Przestarzałe.

W przypadku zastąpienia w klasie pochodnej próbuje odszyfrować dane do określonego buforu przy użyciu trybu CBC z określonym trybem wypełniania.

(Odziedziczone po SymmetricAlgorithm)
TryDecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32)
Przestarzałe.

Próbuje odszyfrować dane do określonego buforu przy użyciu trybu CFB z określonym trybem wypełniania i rozmiarem opinii.

(Odziedziczone po SymmetricAlgorithm)
TryDecryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32)
Przestarzałe.

W przypadku zastąpienia w klasie pochodnej próbuje odszyfrować dane do określonego buforu przy użyciu trybu CFB z określonym trybem wypełniania i rozmiarem opinii.

(Odziedziczone po SymmetricAlgorithm)
TryDecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Przestarzałe.

Próbuje odszyfrować dane do określonego buforu przy użyciu trybu EBC z określonym trybem dopełniania.

(Odziedziczone po SymmetricAlgorithm)
TryDecryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Przestarzałe.

W przypadku zastąpienia w klasie pochodnej próbuje odszyfrować dane do określonego buforu przy użyciu trybu EBC z określonym trybem wypełniania.

(Odziedziczone po SymmetricAlgorithm)
TryEncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode)
Przestarzałe.

Próbuje zaszyfrować dane w określonym buforze przy użyciu trybu CBC z określonym trybem dopełniania.

(Odziedziczone po SymmetricAlgorithm)
TryEncryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Przestarzałe.

Po zastąpieniu w klasie pochodnej próbuje zaszyfrować dane do określonego buforu przy użyciu trybu CBC z określonym trybem wypełniania.

(Odziedziczone po SymmetricAlgorithm)
TryEncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32)
Przestarzałe.

Próbuje zaszyfrować dane do określonego buforu przy użyciu trybu CFB z określonym trybem wypełniania i rozmiarem opinii.

(Odziedziczone po SymmetricAlgorithm)
TryEncryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32)
Przestarzałe.

W przypadku zastąpienia w klasie pochodnej próbuje zaszyfrować dane w określonym buforze przy użyciu trybu CFB z określonym trybem wypełniania i rozmiarem opinii.

(Odziedziczone po SymmetricAlgorithm)
TryEncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Przestarzałe.

Próbuje zaszyfrować dane do określonego buforu przy użyciu trybu EBC z określonym trybem dopełniania.

(Odziedziczone po SymmetricAlgorithm)
TryEncryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32)
Przestarzałe.

W przypadku zastąpienia w klasie pochodnej próbuje zaszyfrować dane do określonego buforu przy użyciu trybu EBC z określonym trybem wypełniania.

(Odziedziczone po SymmetricAlgorithm)
ValidKeySize(Int32)
Przestarzałe.

Określa, czy określony rozmiar klucza jest prawidłowy dla bieżącego algorytmu.

(Odziedziczone po SymmetricAlgorithm)

Jawne implementacje interfejsu

IDisposable.Dispose()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Przestarzałe.

Zwalnia zasoby niezarządzane używane przez element SymmetricAlgorithm i opcjonalnie zwalnia zasoby zarządzane.

(Odziedziczone po SymmetricAlgorithm)

Dotyczy

Zobacz też