Share via


RSA.TryDecrypt Método

Definição

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.

destination
Span<Byte>

O buffer que receberá os dados 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

Boolean

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.

Aplica-se a

Confira também