| package org.bouncycastle.crypto; |
| |
| /** |
| * 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 method required to support variable output on an extended digest implementation. |
| */ |
| public interface Xof |
| extends ExtendedDigest |
| { |
| /** |
| * Output the results of the final calculation for this digest to outLen number of bytes. |
| * |
| * @param out output array to write the output bytes to. |
| * @param outOff offset to start writing the bytes at. |
| * @param outLen the number of output bytes requested. |
| * @return the number of bytes written |
| */ |
| int doFinal(byte[] out, int outOff, int outLen); |
| |
| /** |
| * Start outputting the results of the final calculation for this digest. Unlike doFinal, this method |
| * will continue producing output until the Xof is explicitly reset, or signals otherwise. |
| * |
| * @param out output array to write the output bytes to. |
| * @param outOff offset to start writing the bytes at. |
| * @param outLen the number of output bytes requested. |
| * @return the number of bytes written |
| */ |
| int doOutput(byte[] out, int outOff, int outLen); |
| } |