Table of Contents

Class LongDigest

Namespace
Org.BouncyCastle.Crypto.Digests
Assembly
BouncyCastle.Cryptography.dll
public abstract class LongDigest : IDigest, IMemoable
Inheritance
LongDigest
Implements
Derived
Inherited Members

Properties

AlgorithmName

The algorithm name.

public abstract string AlgorithmName { get; }

Property Value

string

Methods

BlockUpdate(byte[], int, int)

Update the message digest with a block of bytes.

public void BlockUpdate(byte[] input, int inOff, int length)

Parameters

input byte[]

The byte array containing the data.

inOff int

The offset into the byte array where the data starts.

length int

BlockUpdate(ReadOnlySpan<byte>)

Update the message digest with a span of bytes.

public void BlockUpdate(ReadOnlySpan<byte> input)

Parameters

input ReadOnlySpan<byte>

The span containing the data.

Copy()

Produce a copy of this object with its configuration and in its current state.

public abstract IMemoable Copy()

Returns

IMemoable

Remarks

The returned object may be used simply to store the state, or may be used as a similar object starting from the copied state.

CopyIn(LongDigest)

protected void CopyIn(LongDigest t)

Parameters

t LongDigest

DoFinal(byte[], int)

Close the digest, producing the final digest value.

public abstract int DoFinal(byte[] output, int outOff)

Parameters

output byte[]

The byte array the digest is to be copied into.

outOff int

The offset into the byte array the digest is to start at.

Returns

int

The number of bytes written.

Remarks

This call leaves the digest reset.

DoFinal(Span<byte>)

Close the digest, producing the final digest value.

public abstract int DoFinal(Span<byte> output)

Parameters

output Span<byte>

The span the digest is to be copied into.

Returns

int

The number of bytes written.

Remarks

This call leaves the digest reset.

Finish()

public void Finish()

GetByteLength()

Return the size, in bytes, of the internal buffer used by this digest.

public int GetByteLength()

Returns

int

The size, in bytes, of the internal buffer used by this digest.

GetDigestSize()

Return the size, in bytes, of the digest produced by this message digest.

public abstract int GetDigestSize()

Returns

int

The size, in bytes, of the digest produced by this message digest.

Reset()

Reset the digest back to its initial state.

public virtual void Reset()

Reset(IMemoable)

Restore a copied object state into this object.

public abstract void Reset(IMemoable t)

Parameters

t IMemoable

Remarks

Implementations of this method should try to avoid or minimise memory allocation to perform the reset.

Exceptions

InvalidCastException

if the provided object is not of the correct type.

MemoableResetException

if the other parameter is in some other way invalid.

Update(byte)

Update the message digest with a single byte.

public void Update(byte input)

Parameters

input byte

The input byte to be entered.