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

◆ CreateEphemeralCryptoTransformCore()

Internal.Cryptography.UniversalCryptoTransform Internal.Cryptography.CngSymmetricAlgorithmCore.CreateEphemeralCryptoTransformCore ( byte[] key,
byte[] iv,
bool encrypting,
PaddingMode padding,
CipherMode mode,
int feedbackSizeInBits )
inlineprivate

Definition at line 149 of file CngSymmetricAlgorithmCore.cs.

150 {
151 int blockSizeInBytes = _outer.BlockSize.BitSizeToByteSize();
152 Internal.NativeCrypto.SafeAlgorithmHandle ephemeralModeHandle = _outer.GetEphemeralModeHandle(mode, feedbackSizeInBits);
153 Internal.Cryptography.BasicSymmetricCipher cipher = new Internal.Cryptography.BasicSymmetricCipherBCrypt(ephemeralModeHandle, mode, blockSizeInBytes, _outer.GetPaddingSize(mode, feedbackSizeInBits), key, ownsParentHandle: false, iv, encrypting);
154 return Internal.Cryptography.UniversalCryptoTransform.Create(padding, cipher, encrypting);
155 }
static UniversalCryptoTransform Create(PaddingMode paddingMode, BasicSymmetricCipher cipher, bool encrypting)
int GetPaddingSize(CipherMode mode, int feedbackSizeBits)
Internal.NativeCrypto.SafeAlgorithmHandle GetEphemeralModeHandle(CipherMode mode, int feedbackSizeInBits)

References Internal.Cryptography.CngSymmetricAlgorithmCore._outer, Internal.Cryptography.ICngSymmetricAlgorithm.BlockSize, Internal.Cryptography.UniversalCryptoTransform.Create(), Internal.Cryptography.ICngSymmetricAlgorithm.GetEphemeralModeHandle(), Internal.Cryptography.ICngSymmetricAlgorithm.GetPaddingSize(), and System.key.

Referenced by Internal.Cryptography.CngSymmetricAlgorithmCore.CreateCryptoTransform().