Поделиться через


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. Этот параметр обрабатывается как неинициализированный.

Возвращаемое значение

Значение true, если destination имеет достаточную длину для получения расшифрованных данных, в противном случае значение false.

Исключения

padding имеет значение null.

Значение padding неизвестно или не поддерживается этой реализацией.

-или-

Длина data не равна количеству байтов для KeySize.

-или-

Этот экземпляр представляет только открытый ключ.

-или-

Сбой операции расшифровки.

Комментарии

Реализация этого метода по умолчанию вызывает Decrypt(Byte[], RSAEncryptionPadding) и копирует результат в destination. Производные типы должны переопределять этот метод, чтобы избежать создания промежуточного массива.

Алгоритм расшифровки RSA всегда создает выходные данные меньше входных данных, поэтому этот метод никогда не возвращает false значение , если destination.Length >= data.Length.

Применяется к

См. также раздел