6internal sealed class UniversalCryptoEncryptor :
Internal.Cryptography.UniversalCryptoTransform
9 : base(paddingMode, basicSymmetricCipher)
15 return base.BasicSymmetricCipher.Transform(inputBuffer, outputBuffer);
21 return base.BasicSymmetricCipher.TransformFinal(outputBuffer.
Slice(0,
length), outputBuffer);
34 int num =
Math.
DivRem(plaintextLength, base.PaddingSizeBytes, out result) * base.PaddingSizeBytes;
35 switch (base.PaddingMode)
52 return checked(num + base.PaddingSizeBytes);
58 return plaintextLength;
65 int num =
length % base.PaddingSizeBytes;
66 int num2 = base.PaddingSizeBytes - num;
67 switch (base.PaddingMode)
117 if (num2 == base.PaddingSizeBytes)
override byte[] UncheckedTransformFinalBlock(byte[] inputBuffer, int inputOffset, int inputCount)
override int UncheckedTransformBlock(ReadOnlySpan< byte > inputBuffer, Span< byte > outputBuffer)
int PadBlock(ReadOnlySpan< byte > block, Span< byte > destination)
override int UncheckedTransformFinalBlock(ReadOnlySpan< byte > inputBuffer, Span< byte > outputBuffer)
UniversalCryptoEncryptor(PaddingMode paddingMode, Internal.Cryptography.BasicSymmetricCipher basicSymmetricCipher)
int GetCiphertextLength(int plaintextLength)
static int DivRem(int a, int b, out int result)
static string Argument_DestinationTooShort
static string Cryptography_UnknownPaddingMode
static string Cryptography_PartialBlock
static void Fill(Span< byte > data)
void CopyTo(Span< T > destination)
Span< T > Slice(int start)