Sdílet prostřednictvím


RSA.TryDecrypt Metoda

Definice

Pokusí se dešifrovat vstupní data pomocí zadaného režimu odsazení a zapíše výsledek do poskytnuté vyrovnávací paměti.

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>

Data k dešifrování.

destination
Span<Byte>

Vyrovnávací paměť pro příjem dešifrovaných dat.

padding
RSAEncryptionPadding

Režim odsazení.

bytesWritten
Int32

Když tato metoda vrátí, celkový počet bajtů zapsaných do destination. Tento parametr je považován za neinicializovaný.

Návraty

true pokud destination je dostatečně dlouhý, aby mohl přijímat dešifrovaná data, falsev opačném případě .

Výjimky

padding je null.

padding je neznámý nebo tato implementace nepodporuje.

-nebo-

Délka parametru data se nerovná počtu bajtů pro KeySize.

-nebo-

Tato instance představuje pouze veřejný klíč.

-nebo-

Operace dešifrování selhala.

Poznámky

Výchozí implementace této metody zavolá Decrypt(Byte[], RSAEncryptionPadding) a zkopíruje výsledek do destination. Odvozené typy by měly přepsat tuto metodu, aby se zabránilo vytvoření zprostředkujícího pole.

Algoritmus dešifrování RSA vždy vytvoří výstup menší než vstup, proto tato metoda nikdy nevrátí false , když destination.Length >= data.Length.

Platí pro

Viz také