Condividi tramite


RSA.TryDecrypt Metodo

Definizione

Prova a decrittografare i dati di input usando la modalità di riempimento specificata e scrivendo il risultato in un buffer specificato.

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

Parametri

data
ReadOnlySpan<Byte>

Dati da decrittografare.

destination
Span<Byte>

Buffer per la ricezione dei dati decrittografati.

padding
RSAEncryptionPadding

Modalità di riempimento.

bytesWritten
Int32

Al termine di questo metodo, il numero totale di byte scritti in destination. Questo parametro viene trattato come non inizializzato.

Restituisce

true se la lunghezza di destination è sufficiente per ricevere i dati decrittografati. In caso contrario, false.

Eccezioni

padding è null.

padding è sconosciuto o non è supportato da questa implementazione.

-oppure-

La lunghezza di data non è uguale al numero di byte per KeySize.

-oppure-

Questa istanza rappresenta solo una chiave pubblica.

-oppure-

Operazione di decrittografia non riuscita.

Commenti

L'implementazione predefinita di questo metodo chiama Decrypt(Byte[], RSAEncryptionPadding) e copia il risultato in destination. I tipi derivati devono eseguire l'override di questo metodo per evitare la creazione della matrice intermedia.

L'algoritmo di decrittografia RSA produrrà sempre un output più piccolo dell'input, pertanto questo metodo non restituirà false mai quando destination.Length >= data.Length.

Si applica a

Vedi anche