다음을 통해 공유


RSA.TryEncrypt 메서드

정의

지정된 패딩 모드를 통해 제공된 버퍼로 입력 데이터를 암호화하려고 합니다.

public:
 virtual bool TryEncrypt(ReadOnlySpan<System::Byte> data, Span<System::Byte> destination, System::Security::Cryptography::RSAEncryptionPadding ^ padding, [Runtime::InteropServices::Out] int % bytesWritten);
public virtual bool TryEncrypt (ReadOnlySpan<byte> data, Span<byte> destination, System.Security.Cryptography.RSAEncryptionPadding padding, out int bytesWritten);
abstract member TryEncrypt : ReadOnlySpan<byte> * Span<byte> * System.Security.Cryptography.RSAEncryptionPadding * int -> bool
override this.TryEncrypt : ReadOnlySpan<byte> * Span<byte> * System.Security.Cryptography.RSAEncryptionPadding * int -> bool
Public Overridable Function TryEncrypt (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에 기록되는 총 바이트 수입니다. 이 매개 변수는 초기화되지 않은 것으로 처리됩니다.

반환

destination이 암호화된 데이터를 받을 수 있을 만큼 충분히 긴 경우 true이고, 그렇지 않으면 false입니다.

예외

padding이(가) null인 경우

padding은 알 수 없거나 이 구현에서 지원되지 않습니다.

또는

data의 길이가 KeySize와 선택한 패딩의 조합에 비해 너무 깁니다.

또는

암호화 작업에 실패했습니다.

설명

이 메서드의 기본 구현은 를 호출 Encrypt(Byte[], RSAEncryptionPadding) 하고 결과를 destination에 복사합니다. 파생 형식은 중간 배열을 만들지 않도록 이 메서드를 재정의해야 합니다.

RSA 암호화 알고리즘은 항상 비트에 필요한 바이트 수와 동일한 출력을 KeySize 생성합니다.

적용 대상

추가 정보