RSA.TryDecrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32) メソッド

定義

指定したパディング モードを使用して入力データを復号化し、その結果を指定したバッファーに書き込むことを試みます。Attempts to decrypt the input data using the specified padding mode, writing the result into a provided buffer.

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>

暗号化を解除するデータ。The data to decrypt.

destination
Span<Byte>

復号化したデータを受け取るバッファー。The buffer to receive the decrypted data.

padding
RSAEncryptionPadding

パディング モード。The padding mode.

bytesWritten
Int32

このメソッドから制御が戻るときに、destination に書き込まれた合計バイト数。When this method returns, the total number of bytes written into destination. このパラメーターは未初期化として扱われます。This parameter is treated as uninitialized.

戻り値

Boolean

destination が復号化したデータを受け取るのに十分な長さである場合は true。それ以外の場合は falsetrue if destination is long enough to receive the decrypted data; otherwise, false.

例外

paddingnull です。padding is null.

padding が不明であるか、この実装ではサポートされていません。padding is unknown, or not supported by this implementation.

または-or-

data の長さが KeySize のバイト数と等しくありません。The length of data is not equal to the number of bytes for KeySize.

または-or-

このインスタンスでは公開キーのみ表されます。This instance represents only a public key.

または-or-

復号化操作に失敗しました。The decryption operation failed.

注釈

このメソッドの既定の実装では、Decrypt(Byte[], RSAEncryptionPadding) を呼び出し、結果を destinationにコピーします。The default implementation of this method calls Decrypt(Byte[], RSAEncryptionPadding) and copies the result to destination. 派生型では、このメソッドをオーバーライドして、中間の配列を作成しないようにする必要があります。Derived types should override this method to avoid the intermediate array creation.

RSA 復号化アルゴリズムでは、常に入力より小さい出力が生成されるため、このメソッドは destination.Length >= data.Length時に false を返しません。The RSA decryption algorithm will always produce an output smaller than the input, therefore this method will never return false when destination.Length >= data.Length.

適用対象

こちらもご覧ください