DESCryptoServiceProvider Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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) |