RSA.TryDecrypt Method

Definition

Attempts to decrypt the input data using the specified padding mode, writing the result into a provided buffer.

public virtual bool TryDecrypt (ReadOnlySpan<byte> data, Span<byte> destination, System.Security.Cryptography.RSAEncryptionPadding padding, out int bytesWritten);

Parameters

data
ReadOnlySpan<Byte>

The data to decrypt.

destination
Span<Byte>

The buffer to receive the decrypted data.

padding
RSAEncryptionPadding

The padding mode.

bytesWritten
Int32

When this method returns, the total number of bytes written into destination. This parameter is treated as uninitialized.

Returns

true if destination is long enough to receive the decrypted data; otherwise, false.

Exceptions

padding is null.

padding is unknown, or not supported by this implementation.

-or-

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.

Remarks

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.

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.

Applies to

Product Versions
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

See also