System.Security.Cryptography.SymmetricAlgorithm
namespace System.Security.Cryptography
{
public abstract class SymmetricAlgorithm : IDisposable
{
protected int BlockSizeValue;
protected int FeedbackSizeValue;
protected byte[] IVValue;
protected int KeySizeValue;
protected byte[] KeyValue;
protected KeySizes[] LegalBlockSizesValue;
protected KeySizes[] LegalKeySizesValue;
protected CipherMode ModeValue;
protected PaddingMode PaddingValue;
public virtual int BlockSize { get; set; }
public virtual int FeedbackSize { get; set; }
public virtual byte[] IV { get; set; }
public virtual byte[] Key { get; set; }
public virtual int KeySize { get; set; }
public virtual KeySizes[] LegalBlockSizes { get; }
public virtual KeySizes[] LegalKeySizes { get; }
public virtual CipherMode Mode { get; set; }
public virtual PaddingMode Padding { get; set; }
protected SymmetricAlgorithm();
public void Clear();
public static SymmetricAlgorithm Create();
public static SymmetricAlgorithm Create(string algName);
public virtual ICryptoTransform CreateDecryptor();
public abstract ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgbIV);
public virtual ICryptoTransform CreateEncryptor();
public abstract ICryptoTransform CreateEncryptor(byte[] rgbKey, byte[] rgbIV);
public void Dispose();
protected virtual void Dispose(bool disposing);
public abstract void GenerateIV();
public abstract void GenerateKey();
public bool ValidKeySize(int bitLength);
}
}