NonMemoableDigest
using System;
namespace Org.BouncyCastle.Crypto.Digests
{
public class NonMemoableDigest : IDigest
{
protected readonly IDigest mBaseDigest;
public virtual string AlgorithmName => mBaseDigest.AlgorithmName;
public NonMemoableDigest(IDigest baseDigest)
{
if (baseDigest == null)
throw new ArgumentNullException("baseDigest");
mBaseDigest = baseDigest;
}
public virtual int GetDigestSize()
{
return mBaseDigest.GetDigestSize();
}
public virtual void Update(byte input)
{
mBaseDigest.Update(input);
}
public virtual void BlockUpdate(byte[] input, int inOff, int len)
{
mBaseDigest.BlockUpdate(input, inOff, len);
}
public virtual int DoFinal(byte[] output, int outOff)
{
return mBaseDigest.DoFinal(output, outOff);
}
public virtual void Reset()
{
mBaseDigest.Reset();
}
public virtual int GetByteLength()
{
return mBaseDigest.GetByteLength();
}
}
}