Compartir a través de


RSA.TryDecrypt Método

Definición

Intenta descifrar los datos de entrada usando el modo de relleno especificado y escribiendo el resultado en un búfer proporcionado.

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>

Datos que se van a descifrar.

destination
Span<Byte>

Búfer que va a recibir los datos descifrados.

padding
RSAEncryptionPadding

Modo de relleno.

bytesWritten
Int32

Cuando este método devuelve un valor, el número total de bytes escritos en destination. Este parámetro se trata como sin inicializar.

Devoluciones

Es true si destination es lo suficientemente largo como para recibir los datos descifrados; de lo contrario, es false.

Excepciones

padding es null.

padding es un valor desconocido o no se admite para esta implementación.

O bien

La longitud de data no es igual al número de bytes de KeySize.

O bien

Esta instancia representa solo una clave pública.

O bien

Se ha producido un error en la operación de descifrado.

Comentarios

La implementación predeterminada de este método llama Decrypt(Byte[], RSAEncryptionPadding) a y copia el resultado en destination. Los tipos derivados deben invalidar este método para evitar la creación de la matriz intermedia.

El algoritmo de descifrado RSA siempre generará una salida menor que la entrada, por lo que este método nunca devolverá false cuando destination.Length >= data.Length.

Se aplica a

Consulte también