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.

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

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