Table of Contents

Interface IXof

Namespace
Org.BouncyCastle.Crypto
Assembly
BouncyCastle.Cryptography.dll
public interface IXof : IDigest
Inherited Members

Remarks

With FIPS PUB 202 a new kind of message digest was announced which supported extendable output, or variable digest sizes. This interface provides the extra methods required to support variable output on a digest implementation.

Methods

Output(byte[], int, int)

Start outputting the results of the final calculation for this XOF. Unlike DoFinal, this method will continue producing output until the XOF is explicitly reset, or signals otherwise.

int Output(byte[] output, int outOff, int outLen)

Parameters

output byte[]

output array to write the output bytes to.

outOff int

offset to start writing the bytes at.

outLen int

the number of output bytes requested.

Returns

int

the number of bytes written

Output(Span<byte>)

Start outputting the results of the final calculation for this XOF. Unlike OutputFinal, this method will continue producing output until the XOF is explicitly reset, or signals otherwise.

int Output(Span<byte> output)

Parameters

output Span<byte>

span to fill with the output bytes.

Returns

int

the number of bytes written

OutputFinal(byte[], int, int)

Output the results of the final calculation for this XOF to outLen number of bytes.

int OutputFinal(byte[] output, int outOff, int outLen)

Parameters

output byte[]

output array to write the output bytes to.

outOff int

offset to start writing the bytes at.

outLen int

the number of output bytes requested.

Returns

int

the number of bytes written

OutputFinal(Span<byte>)

Output the results of the final calculation for this XOF to fill the output span.

int OutputFinal(Span<byte> output)

Parameters

output Span<byte>

span to fill with the output bytes.

Returns

int

the number of bytes written