Digest.java revision e6bf3e8dfa2804891a82075cb469b736321b4827
1package org.bouncycastle.crypto;
2
3/**
4 * interface that a message digest conforms to.
5 */
6public interface Digest
7{
8    /**
9     * return the algorithm name
10     *
11     * @return the algorithm name
12     */
13    public String getAlgorithmName();
14
15    /**
16     * return the size, in bytes, of the digest produced by this message digest.
17     *
18     * @return the size, in bytes, of the digest produced by this message digest.
19     */
20    public int getDigestSize();
21
22    /**
23     * update the message digest with a single byte.
24     *
25     * @param in the input byte to be entered.
26     */
27    public void update(byte in);
28
29    /**
30     * update the message digest with a block of bytes.
31     *
32     * @param in the byte array containing the data.
33     * @param inOff the offset into the byte array where the data starts.
34     * @param len the length of the data.
35     */
36    public void update(byte[] in, int inOff, int len);
37
38    /**
39     * close the digest, producing the final digest value. The doFinal
40     * call leaves the digest reset.
41     *
42     * @param out the array the digest is to be copied into.
43     * @param outOff the offset into the out array the digest is to start at.
44     */
45    public int doFinal(byte[] out, int outOff);
46
47    /**
48     * reset the digest back to it's initial state.
49     */
50    public void reset();
51}
52