<PackageReference Include="NETStandard.Library" Version="2.0.0" />

System.Security.Cryptography.HashAlgorithm

public abstract class HashAlgorithm : IDisposable, ICryptoTransform
namespace System.Security.Cryptography { public abstract class HashAlgorithm : IDisposable, ICryptoTransform { protected int HashSizeValue; 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); } }