RSA.TryDecrypt Método
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.
Tenta descriptografar os dados de entrada usando o modo de preenchimento especificado, gravando o resultado em um buffer fornecido.
public:
virtual bool TryDecrypt(ReadOnlySpan<System::Byte> data, Span<System::Byte> destination, System::Security::Cryptography::RSAEncryptionPadding ^ padding, [Runtime::InteropServices::Out] int % bytesWritten);
public virtual bool TryDecrypt (ReadOnlySpan<byte> data, Span<byte> destination, System.Security.Cryptography.RSAEncryptionPadding padding, out int bytesWritten);
abstract member TryDecrypt : ReadOnlySpan<byte> * Span<byte> * System.Security.Cryptography.RSAEncryptionPadding * int -> bool
override this.TryDecrypt : ReadOnlySpan<byte> * Span<byte> * System.Security.Cryptography.RSAEncryptionPadding * int -> bool
Public Overridable Function TryDecrypt (data As ReadOnlySpan(Of Byte), destination As Span(Of Byte), padding As RSAEncryptionPadding, ByRef bytesWritten As Integer) As Boolean
Parâmetros
- data
- ReadOnlySpan<Byte>
Os dados a serem descriptografados.
- padding
- RSAEncryptionPadding
O modo de preenchimento.
- bytesWritten
- Int32
Quando esse método é retornado, o número total de bytes gravados em destination
. Esse parâmetro é tratado como não inicializado.
Retornos
true
se destination
for longo o suficiente para receber os dados descriptografados; caso contrário, false
.
Exceções
padding
é null
.
padding
é desconhecido ou não há suporte para ele nesta implementação.
- ou -
O tamanho de data
não é igual ao número de bytes de KeySize.
- ou -
Essa instância representa apenas uma chave pública.
- ou -
Falha na operação de descriptografia.
Comentários
A implementação padrão desse método chama Decrypt(Byte[], RSAEncryptionPadding) e copia o resultado para destination
.
Tipos derivados devem substituir esse método para evitar a criação de matriz intermediária.
O algoritmo de descriptografia RSA sempre produzirá uma saída menor que a entrada, portanto, esse método nunca retornará false
quando destination.Length >= data.Length
.