System.Security.Cryptography.KeyedHashAlgorithm
namespace System.Security.Cryptography
{
public abstract class KeyedHashAlgorithm : HashAlgorithm
{
protected byte[] KeyValue;
public virtual byte[] Key { get; set; }
protected KeyedHashAlgorithm();
public new static KeyedHashAlgorithm Create();
public new static KeyedHashAlgorithm Create(string algName);
}
}
namespace System.Security.Cryptography
{
public abstract class HashAlgorithm : IDisposable, ICryptoTransform
{
protected int HashSizeValue;
protected internal byte[] HashValue;
protected int State;
public virtual bool CanReuseTransform { get; }
public virtual bool CanTransformMultipleBlocks { get; }
public virtual byte[] Hash { get; }
public virtual int HashSize { get; }
public virtual int InputBlockSize { get; }
public virtual int OutputBlockSize { get; }
protected HashAlgorithm();
public void Clear();
public byte[] ComputeHash(byte[] buffer);
public byte[] ComputeHash(byte[] buffer, int offset, int count);
public byte[] ComputeHash(Stream inputStream);
public static HashAlgorithm Create();
public static HashAlgorithm Create(string hashName);
public void Dispose();
protected virtual void Dispose(bool disposing);
protected abstract void HashCore(byte[] array, int ibStart, int cbSize);
protected abstract byte[] HashFinal();
public abstract void Initialize();
public int TransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset);
public byte[] TransformFinalBlock(byte[] inputBuffer, int inputOffset, int inputCount);
}
}