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.