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

◆ EncryptCfb() [2/3]

byte[] System.Security.Cryptography.SymmetricAlgorithm.EncryptCfb ( ReadOnlySpan< byte > plaintext,
ReadOnlySpan< byte > iv,
PaddingMode paddingMode = PaddingMode::None,
int feedbackSizeInBits = 8 )
inlineinherited

Definition at line 562 of file SymmetricAlgorithm.cs.

563 {
564 CheckPaddingMode(paddingMode);
566 CheckFeedbackSize(feedbackSizeInBits);
567 int ciphertextLengthCfb = GetCiphertextLengthCfb(plaintext.Length, paddingMode, feedbackSizeInBits);
568 byte[] array = GC.AllocateUninitializedArray<byte>(ciphertextLengthCfb);
569 if (!TryEncryptCfbCore(plaintext, iv, array, paddingMode, feedbackSizeInBits, out var bytesWritten) || bytesWritten != ciphertextLengthCfb)
570 {
571 throw new CryptographicException(System.SR.Format(System.SR.Cryptography_EncryptedIncorrectLength, "TryEncryptCfbCore"));
572 }
573 return array;
574 }
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)
virtual bool TryEncryptCfbCore(ReadOnlySpan< byte > plaintext, ReadOnlySpan< byte > iv, Span< byte > destination, PaddingMode paddingMode, int feedbackSizeInBits, out int bytesWritten)
int GetCiphertextLengthCfb(int plaintextLength, PaddingMode paddingMode=PaddingMode.None, int feedbackSizeInBits=8)
void CheckInitializationVectorSize(ReadOnlySpan< byte > iv)

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