Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ EncryptCbc() [2/3]

byte[] System.Security.Cryptography.SymmetricAlgorithm.EncryptCbc ( ReadOnlySpan< byte > plaintext,
ReadOnlySpan< byte > iv,
PaddingMode paddingMode = PaddingMode::PKCS7 )
inlineinherited

Definition at line 479 of file SymmetricAlgorithm.cs.

480 {
481 CheckPaddingMode(paddingMode);
483 int ciphertextLengthCbc = GetCiphertextLengthCbc(plaintext.Length, paddingMode);
484 byte[] array = GC.AllocateUninitializedArray<byte>(ciphertextLengthCbc);
485 if (!TryEncryptCbcCore(plaintext, iv, array, paddingMode, out var bytesWritten) || bytesWritten != ciphertextLengthCbc)
486 {
487 throw new CryptographicException(System.SR.Format(System.SR.Cryptography_EncryptedIncorrectLength, "TryEncryptCbcCore"));
488 }
489 return array;
490 }
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string Cryptography_EncryptedIncorrectLength
Definition SR.cs:58
Definition SR.cs:7
static void CheckPaddingMode(PaddingMode paddingMode)
int GetCiphertextLengthCbc(int plaintextLength, PaddingMode paddingMode=PaddingMode.PKCS7)
virtual bool TryEncryptCbcCore(ReadOnlySpan< byte > plaintext, ReadOnlySpan< byte > iv, Span< byte > destination, PaddingMode paddingMode, out int bytesWritten)
void CheckInitializationVectorSize(ReadOnlySpan< byte > iv)

References System.array, System.Security.Cryptography.SymmetricAlgorithm.CheckInitializationVectorSize(), System.Security.Cryptography.SymmetricAlgorithm.CheckPaddingMode(), System.SR.Cryptography_EncryptedIncorrectLength, System.SR.Format(), System.Security.Cryptography.SymmetricAlgorithm.GetCiphertextLengthCbc(), System.ReadOnlySpan< T >.Length, and System.Security.Cryptography.SymmetricAlgorithm.TryEncryptCbcCore().