Edit

Share via


SymmetricAlgorithm.TryEncryptCbcCore Method

Definition

When overridden in a derived class, attempts to encrypt data into the specified buffer, using CBC mode with the specified padding mode.

protected:
 virtual bool TryEncryptCbcCore(ReadOnlySpan<System::Byte> plaintext, ReadOnlySpan<System::Byte> iv, Span<System::Byte> destination, System::Security::Cryptography::PaddingMode paddingMode, [Runtime::InteropServices::Out] int % bytesWritten);
protected virtual bool TryEncryptCbcCore (ReadOnlySpan<byte> plaintext, ReadOnlySpan<byte> iv, Span<byte> destination, System.Security.Cryptography.PaddingMode paddingMode, out int bytesWritten);
abstract member TryEncryptCbcCore : ReadOnlySpan<byte> * ReadOnlySpan<byte> * Span<byte> * System.Security.Cryptography.PaddingMode * int -> bool
override this.TryEncryptCbcCore : ReadOnlySpan<byte> * ReadOnlySpan<byte> * Span<byte> * System.Security.Cryptography.PaddingMode * int -> bool
Protected Overridable Function TryEncryptCbcCore (plaintext As ReadOnlySpan(Of Byte), iv As ReadOnlySpan(Of Byte), destination As Span(Of Byte), paddingMode As PaddingMode, ByRef bytesWritten As Integer) As Boolean

Parameters

plaintext
ReadOnlySpan<Byte>

The data to encrypt.

iv
ReadOnlySpan<Byte>

The initialization vector.

destination
Span<Byte>

The buffer to receive the ciphertext data.

paddingMode
PaddingMode

The padding mode used to produce the ciphertext and remove during decryption.

bytesWritten
Int32

When this method returns, contains the total number of bytes written to destination.

Returns

true if destination was large enough to receive the encrypted data; otherwise, false.

Exceptions

A derived class has not provided an implementation.

Remarks

Derived classes must override this and provide an implementation.

Implementations of this method must write precisely GetCiphertextLengthCbc(plaintext.Length, paddingMode) bytes to destination and report that via bytesWritten.

Applies to