DESCryptoServiceProvider Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cuidado
Derived cryptographic types are obsolete. Use the Create method on the base type instead.
Define um objeto wrapper para acessar a versão do CSP (provedor de serviços criptográficos) do algoritmo Padrão de Criptografia de Dados (DES). Essa classe não pode ser herdada.
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
- Herança
- Atributos
Exemplos
O exemplo de código a seguir usa DESCryptoServiceProvider (uma implementação de DES) com a chave especificada (Key) e o vetor de inicialização (IV) para criptografar um arquivo especificado por inName. Em seguida, ele gera o resultado criptografado para o arquivo especificado por 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
A descriptografia pode ser tratada da mesma maneira; usar CreateDecryptor em vez de CreateEncryptor. A mesma chave (Key) e o vetor de inicialização (IV) usados para criptografar o arquivo devem ser usados para descriptografá-lo.
Comentários
Esse algoritmo dá suporte a um comprimento de chave de 64 bits.
Importante
Um algoritmo de criptografia simétrica mais recente, AES (Advanced Encryption Standard), está disponível. Considere usar a Aes classe em vez da DES classe. Use DES apenas para compatibilidade com aplicativos e dados herdados.
Construtores
| Nome | Description |
|---|---|
| DESCryptoServiceProvider() |
Obsoleto.
Inicializa uma nova instância da classe DESCryptoServiceProvider. |
Campos
| Nome | Description |
|---|---|
| BlockSizeValue |
Obsoleto.
Representa o tamanho do bloco, em bits, da operação criptográfica. (Herdado de SymmetricAlgorithm) |
| FeedbackSizeValue |
Obsoleto.
Representa o tamanho dos comentários, em bits, da operação criptográfica. (Herdado de SymmetricAlgorithm) |
| IVValue |
Obsoleto.
Representa o vetor de inicialização (IV) para o algoritmo simétrico. (Herdado de SymmetricAlgorithm) |
| KeySizeValue |
Obsoleto.
Representa o tamanho, em bits, da chave secreta usada pelo algoritmo simétrico. (Herdado de SymmetricAlgorithm) |
| KeyValue |
Obsoleto.
Representa a chave secreta para o algoritmo simétrico. (Herdado de SymmetricAlgorithm) |
| LegalBlockSizesValue |
Obsoleto.
Especifica os tamanhos de bloco, em bits, compatíveis com o algoritmo simétrico. (Herdado de SymmetricAlgorithm) |
| LegalKeySizesValue |
Obsoleto.
Especifica os tamanhos de chave, em bits, compatíveis com o algoritmo simétrico. (Herdado de SymmetricAlgorithm) |
| ModeValue |
Obsoleto.
Representa o modo de criptografia usado no algoritmo simétrico. (Herdado de SymmetricAlgorithm) |
| PaddingValue |
Obsoleto.
Representa o modo de preenchimento usado no algoritmo simétrico. (Herdado de SymmetricAlgorithm) |
Propriedades
| Nome | Description |
|---|---|
| BlockSize |
Obsoleto.
Obtém ou define o tamanho do bloco, em bits, da operação criptográfica. (Herdado de SymmetricAlgorithm) |
| FeedbackSize |
Obsoleto.
Obtém ou define o tamanho dos comentários, em bits, da operação criptográfica para os modos de criptografia cfb (comentários de criptografia) e comentários de saída (OFB). (Herdado de SymmetricAlgorithm) |
| IV |
Obsoleto.
Obtém ou define o vetor de inicialização (IV) para o algoritmo simétrico. (Herdado de SymmetricAlgorithm) |
| Key |
Obsoleto.
Obtém ou define a chave secreta para o algoritmo Padrão de Criptografia de Dados (DES). (Herdado de DES) |
| KeySize |
Obsoleto.
Obtém ou define o tamanho, em bits, da chave secreta usada pelo algoritmo simétrico. (Herdado de SymmetricAlgorithm) |
| LegalBlockSizes |
Obsoleto.
Obtém os tamanhos de bloco, em bits, compatíveis com o algoritmo simétrico. (Herdado de SymmetricAlgorithm) |
| LegalKeySizes |
Obsoleto.
Obtém os tamanhos de chave, em bits, compatíveis com o algoritmo simétrico. (Herdado de SymmetricAlgorithm) |
| Mode |
Obsoleto.
Obtém ou define o modo de operação do algoritmo simétrico. (Herdado de SymmetricAlgorithm) |
| Padding |
Obsoleto.
Obtém ou define o modo de preenchimento usado no algoritmo simétrico. (Herdado de SymmetricAlgorithm) |
Métodos
| Nome | Description |
|---|---|
| Clear() |
Obsoleto.
Libera todos os recursos usados pela SymmetricAlgorithm classe. (Herdado de SymmetricAlgorithm) |
| CreateDecryptor() |
Obsoleto.
Cria um objeto de descriptografador simétrico com a propriedade atual Key e o vetor de inicialização (IV). |
| CreateDecryptor() |
Obsoleto.
Cria um objeto de descriptografador simétrico com a propriedade atual Key e o vetor de inicialização (IV). (Herdado de SymmetricAlgorithm) |
| CreateDecryptor(Byte[], Byte[]) |
Obsoleto.
Cria um objeto descriptografador Padrão de Criptografia de Dados simétrico (DES) com a chave especificada (Key) e o vetor de inicialização (IV). |
| CreateEncryptor() |
Obsoleto.
Cria um objeto criptografador simétrico com a propriedade atual Key e o vetor de inicialização (IV). |
| CreateEncryptor() |
Obsoleto.
Cria um objeto criptografador simétrico com a propriedade atual Key e o vetor de inicialização (IV). (Herdado de SymmetricAlgorithm) |
| CreateEncryptor(Byte[], Byte[]) |
Obsoleto.
Cria um objeto criptografador Padrão de Criptografia de Dados simétrico (DES) com a chave especificada (Key) e o vetor de inicialização (IV). |
| DecryptCbc(Byte[], Byte[], PaddingMode) |
Obsoleto.
Descriptografa dados usando o modo CBC com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode) |
Obsoleto.
Descriptografa dados usando o modo CBC com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| DecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode) |
Obsoleto.
Descriptografa dados no buffer especificado, usando o modo CBC com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| DecryptCfb(Byte[], Byte[], PaddingMode, Int32) |
Obsoleto.
Descriptografa dados usando o modo CFB com o modo de preenchimento e o tamanho de comentários especificados. (Herdado de SymmetricAlgorithm) |
| DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32) |
Obsoleto.
Descriptografa dados usando o modo CFB com o modo de preenchimento e o tamanho de comentários especificados. (Herdado de SymmetricAlgorithm) |
| DecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32) |
Obsoleto.
Descriptografa dados no buffer especificado, usando o modo CFB com o modo de preenchimento e o tamanho de comentários especificados. (Herdado de SymmetricAlgorithm) |
| DecryptEcb(Byte[], PaddingMode) |
Obsoleto.
Descriptografa dados usando o modo ECB com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| DecryptEcb(ReadOnlySpan<Byte>, PaddingMode) |
Obsoleto.
Descriptografa dados usando o modo ECB com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| DecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode) |
Obsoleto.
Descriptografa dados no buffer especificado, usando o modo ECB com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| Dispose() |
Obsoleto.
Libera todos os recursos usados pela instância atual da SymmetricAlgorithm classe. (Herdado de SymmetricAlgorithm) |
| Dispose(Boolean) |
Obsoleto.
Libera os recursos não gerenciados usados pelo SymmetricAlgorithm e, opcionalmente, libera os recursos gerenciados. (Herdado de SymmetricAlgorithm) |
| EncryptCbc(Byte[], Byte[], PaddingMode) |
Obsoleto.
Criptografa dados usando o modo CBC com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode) |
Obsoleto.
Criptografa dados usando o modo CBC com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| EncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode) |
Obsoleto.
Criptografa dados no buffer especificado, usando o modo CBC com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| EncryptCfb(Byte[], Byte[], PaddingMode, Int32) |
Obsoleto.
Criptografa dados usando o modo CFB com o modo de preenchimento e o tamanho de comentários especificados. (Herdado de SymmetricAlgorithm) |
| EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, PaddingMode, Int32) |
Obsoleto.
Criptografa dados usando o modo CFB com o modo de preenchimento e o tamanho de comentários especificados. (Herdado de SymmetricAlgorithm) |
| EncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32) |
Obsoleto.
Criptografa dados no buffer especificado, usando o modo CFB com o modo de preenchimento e o tamanho de comentários especificados. (Herdado de SymmetricAlgorithm) |
| EncryptEcb(Byte[], PaddingMode) |
Obsoleto.
Criptografa dados usando o modo ECB com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| EncryptEcb(ReadOnlySpan<Byte>, PaddingMode) |
Obsoleto.
Criptografa dados usando o modo ECB com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| EncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode) |
Obsoleto.
Criptografa dados no buffer especificado, usando o modo ECB com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| Equals(Object) |
Obsoleto.
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GenerateIV() |
Obsoleto.
Gera um vetor de inicialização aleatório (IV) a ser usado para o algoritmo. |
| GenerateKey() |
Obsoleto.
Gera uma chave aleatória (Key) a ser usada para o algoritmo. |
| GetCiphertextLengthCbc(Int32, PaddingMode) |
Obsoleto.
Obtém o comprimento de um texto criptografado com um determinado modo de preenchimento e comprimento de texto sem formatação no modo CBC. (Herdado de SymmetricAlgorithm) |
| GetCiphertextLengthCfb(Int32, PaddingMode, Int32) |
Obsoleto.
Obtém o comprimento de um texto criptografado com um determinado modo de preenchimento e comprimento de texto sem formatação no modo CFB. (Herdado de SymmetricAlgorithm) |
| GetCiphertextLengthEcb(Int32, PaddingMode) |
Obsoleto.
Obtém o comprimento de um texto criptografado com um determinado modo de preenchimento e comprimento de texto sem formatação no modo ECB. (Herdado de SymmetricAlgorithm) |
| GetHashCode() |
Obsoleto.
Serve como a função de hash padrão. (Herdado de Object) |
| GetType() |
Obsoleto.
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Obsoleto.
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| SetKey(ReadOnlySpan<Byte>) |
Obsoleto.
Define a chave para essa instância. (Herdado de SymmetricAlgorithm) |
| SetKeyCore(ReadOnlySpan<Byte>) |
Obsoleto.
Define a chave para essa instância. (Herdado de SymmetricAlgorithm) |
| ToString() |
Obsoleto.
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
| TryDecryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode) |
Obsoleto.
Tenta descriptografar dados no buffer especificado, usando o modo CBC com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| TryDecryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32) |
Obsoleto.
Quando substituído em uma classe derivada, tenta descriptografar dados no buffer especificado, usando o modo CBC com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| TryDecryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32) |
Obsoleto.
Tenta descriptografar dados no buffer especificado, usando o modo CFB com o modo de preenchimento e o tamanho de comentários especificados. (Herdado de SymmetricAlgorithm) |
| TryDecryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32) |
Obsoleto.
Quando substituído em uma classe derivada, tenta descriptografar dados no buffer especificado, usando o modo CFB com o modo de preenchimento e o tamanho de comentários especificados. (Herdado de SymmetricAlgorithm) |
| TryDecryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32) |
Obsoleto.
Tenta descriptografar dados no buffer especificado, usando o modo ECB com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| TryDecryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32) |
Obsoleto.
Quando substituído em uma classe derivada, tenta descriptografar dados no buffer especificado, usando o modo ECB com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| TryEncryptCbc(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode) |
Obsoleto.
Tenta criptografar dados no buffer especificado, usando o modo CBC com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| TryEncryptCbcCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32) |
Obsoleto.
Quando substituído em uma classe derivada, tenta criptografar dados no buffer especificado, usando o modo CBC com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| TryEncryptCfb(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32, PaddingMode, Int32) |
Obsoleto.
Tenta criptografar dados no buffer especificado, usando o modo CFB com o modo de preenchimento e o tamanho de comentários especificados. (Herdado de SymmetricAlgorithm) |
| TryEncryptCfbCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32, Int32) |
Obsoleto.
Quando substituído em uma classe derivada, tenta criptografar dados no buffer especificado, usando o modo CFB com o modo de preenchimento e o tamanho de comentários especificados. (Herdado de SymmetricAlgorithm) |
| TryEncryptEcb(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32) |
Obsoleto.
Tenta criptografar dados no buffer especificado, usando o modo ECB com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| TryEncryptEcbCore(ReadOnlySpan<Byte>, Span<Byte>, PaddingMode, Int32) |
Obsoleto.
Quando substituído em uma classe derivada, tenta criptografar dados no buffer especificado, usando o modo ECB com o modo de preenchimento especificado. (Herdado de SymmetricAlgorithm) |
| ValidKeySize(Int32) |
Obsoleto.
Determina se o tamanho da chave especificado é válido para o algoritmo atual. (Herdado de SymmetricAlgorithm) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IDisposable.Dispose() |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.
Obsoleto.
Libera os recursos não gerenciados usados pelo SymmetricAlgorithm e, opcionalmente, libera os recursos gerenciados. (Herdado de SymmetricAlgorithm) |