RSA.TryEncrypt(ReadOnlySpan<Byte>, Span<Byte>, RSAEncryptionPadding, Int32) Method

Definition

Attempts to encrypt the input data with a specified padding mode into a provided buffer.

public:
 virtual bool TryEncrypt(ReadOnlySpan<System::Byte> data, Span<System::Byte> destination, System::Security::Cryptography::RSAEncryptionPadding ^ padding, [Runtime::InteropServices::Out] int % bytesWritten);
public virtual bool TryEncrypt (ReadOnlySpan<byte> data, Span<byte> destination, System.Security.Cryptography.RSAEncryptionPadding padding, out int bytesWritten);
abstract member TryEncrypt : ReadOnlySpan<byte> * Span<byte> * System.Security.Cryptography.RSAEncryptionPadding * int -> bool
override this.TryEncrypt : ReadOnlySpan<byte> * Span<byte> * System.Security.Cryptography.RSAEncryptionPadding * int -> bool
Public Overridable Function TryEncrypt (data As ReadOnlySpan(Of Byte), destination As Span(Of Byte), padding As RSAEncryptionPadding, ByRef bytesWritten As Integer) As Boolean

Parameters

data
ReadOnlySpan<Byte>

The data to encrypt.

destination
Span<Byte>

The buffer to receive the encrypted 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 encrypted data; otherwise, false.

Exceptions

padding is null.

padding is unknown, or not supported by this implementation.

-or-

The length of data is too long for the combination of KeySize and the selected padding.

-or-

The encryption operation failed.

Remarks

The default implementation of this method calls Encrypt(Byte[], RSAEncryptionPadding) and copies the result to destination. Derived types should override this method to avoid the intermediate array creation.

The RSA encryption algorithm will always produce an output equal to the number of bytes required for KeySize bits.

Applies to

See also