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.