RSA.TryDecrypt Methode

Definition

Versucht, die Eingabedaten mithilfe des angegebenen Paddingmodus zu entschlüsseln, wobei das Ergebnis in einen bereitgestellten Puffer geschrieben wird.

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

Parameter

data
ReadOnlySpan<Byte>

Die zu entschlüsselnden Daten.

destination
Span<Byte>

Der Puffer, der die entschlüsselten Daten empfangen soll.

padding
RSAEncryptionPadding

Der Paddingmodus.

bytesWritten
Int32

Nach Ausführung dieser Methode die Gesamtzahl der in destination geschriebenen Bytes. Dieser Parameter wird nicht initialisiert behandelt.

Gibt zurück

true, wenn destination zum Empfangen der entschlüsselten Daten lang genug ist. Andernfalls false.

Ausnahmen

padding ist null.

padding ist unbekannt oder wird von dieser Implementierung nicht unterstützt.

- oder -

Die Länge von data ist ungleich der Anzahl von Bytes für KeySize.

- oder -

Diese Instanz stellt nur einen öffentlichen Schlüssel dar.

- oder -

Fehler beim Verschlüsselungsvorgang.

Hinweise

Die Standardimplementierung dieser Methode ruft auf Decrypt(Byte[], RSAEncryptionPadding) und kopiert das Ergebnis in destination. Abgeleitete Typen sollten diese Methode überschreiben, um die Erstellung von Zwischenarrays zu vermeiden.

Der RSA-Entschlüsselungsalgorithmus erzeugt immer eine Ausgabe, die kleiner als die Eingabe ist. Daher wird diese Methode nie zurückgegeben false , wenn destination.Length >= data.Length.

Gilt für:

Weitere Informationen