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>
Расшифровываемые данные.
- padding
- RSAEncryptionPadding
Режим заполнения.
- bytesWritten
- Int32
Этот метод возвращает общее количество байтов, записанных в destination
. Этот параметр обрабатывается как неинициализированный.
Возвращаемое значение
Значение true
, если destination
имеет достаточную длину для получения расшифрованных данных, в противном случае значение false
.
Исключения
padding
имеет значение null
.
Значение padding
неизвестно или не поддерживается этой реализацией.
-или-
Длина data
не равна количеству байтов для KeySize.
-или-
Этот экземпляр представляет только открытый ключ.
-или-
Сбой операции расшифровки.
Комментарии
Реализация этого метода по умолчанию вызывает Decrypt(Byte[], RSAEncryptionPadding) и копирует результат в destination
.
Производные типы должны переопределять этот метод, чтобы избежать создания промежуточного массива.
Алгоритм расшифровки RSA всегда создает выходные данные меньше входных данных, поэтому этот метод никогда не возвращает false
значение , если destination.Length >= data.Length
.