Udostępnij za pośrednictwem


RSA.TryDecrypt Metoda

Definicja

Próbuje odszyfrować dane wejściowe przy użyciu określonego trybu wypełniania, zapisując wynik w podanym buforze.

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

Parametry

data
ReadOnlySpan<Byte>

Dane do odszyfrowywania.

destination
Span<Byte>

Bufor do odbierania odszyfrowanych danych.

padding
RSAEncryptionPadding

Tryb dopełniania.

bytesWritten
Int32

Gdy ta metoda zwróci wartość , całkowita liczba bajtów zapisanych w destinationpliku . Ten parametr jest traktowany jako niezainicjowany.

Zwraca

truejeśli destination jest wystarczająco długi, aby odebrać odszyfrowane dane; w przeciwnym razie . false

Wyjątki

padding to null.

padding jest nieznany lub nie jest obsługiwany przez tę implementację.

-lub-

Długość parametru data nie jest równa liczbie bajtów dla KeySizeelementu .

-lub-

To wystąpienie reprezentuje tylko klucz publiczny.

-lub-

Operacja odszyfrowywania nie powiodła się.

Uwagi

Domyślna implementacja tej metody wywołuje Decrypt(Byte[], RSAEncryptionPadding) i kopiuje wynik do destination. Typy pochodne powinny zastąpić tę metodę, aby uniknąć tworzenia tablicy pośredniej.

Algorytm odszyfrowywania RSA zawsze generuje dane wyjściowe mniejsze niż dane wejściowe, dlatego ta metoda nigdy nie zwróci wartości false w przypadku destination.Length >= data.Length.

Dotyczy

Zobacz też