RSA.TryEncrypt 方法

定义

尝试使用指定的填充模式将输入数据加密存入提供的缓冲区中。

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

参数

data
ReadOnlySpan<Byte>

要加密的数据。

destination
Span<Byte>

要接收加密数据的缓冲区。

padding
RSAEncryptionPadding

填充模式。

bytesWritten
Int32

此方法返回时,为写入 destination 的字节总数。 该参数未经初始化即被处理。

返回

如果 destination 的长度足以接收加密数据,则为 true;否则为 false

例外

paddingnull

padding 未知或不受此实现支持。

- 或 -

data 的长度太长,无法组合 KeySize 与所选填充。

- 或 -

加密操作失败。

注解

此方法的默认实现调用 Encrypt(Byte[], RSAEncryptionPadding) 并将结果复制到 destination。 派生类型应重写此方法,以避免创建中间数组。

RSA 加密算法将始终生成等于位所需的 KeySize 字节数的输出。

适用于

另请参阅