Share via


RSA.TryDecrypt 方法

定義

使用指定的填補模式,將結果寫入提供的緩衝區,以嘗試解密輸入資料。

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

參數

data
ReadOnlySpan<Byte>

要解密的資料。

destination
Span<Byte>

接收解密資料的緩衝區。

padding
RSAEncryptionPadding

填補模式。

bytesWritten
Int32

當這個方法傳回時,寫入 destination 的位元組總數。 這個參數會被視為未初始化。

傳回

Boolean

如果 destination 的長度足以接收解密的資料,則為 true;否則為 false

例外狀況

paddingnull

padding 未知,或不支援此實作。

-或-

data 的長度不等於 KeySize 的位元組數目。

-或-

這個執行個體只表示公開金鑰。

-或-

解密作業失敗。

備註

這個方法的預設實作會呼叫 Decrypt(Byte[], RSAEncryptionPadding) ,並將結果 destination 複製到 。 衍生型別應該覆寫這個方法,以避免建立中繼陣列。

RSA 解密演算法一律會產生小於輸入的輸出,因此此方法永遠不會在 時 destination.Length >= data.Length 傳回 false

適用於

另請參閱