aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/pg/src/main/java/org/spongycastle/openpgp/operator/PGPDigestCalculator.java
blob: 32161e08a20bef00ae09ac532198c336ee20d583 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package org.spongycastle.openpgp.operator;

import java.io.OutputStream;

public interface PGPDigestCalculator
{
    /**
        * Return the algorithm number representing the digest implemented by
        * this calculator.
        *
        * @return algorithm number
        */
    int getAlgorithm();

    /**
        * Returns a stream that will accept data for the purpose of calculating
        * a digest. Use org.spongycastle.util.io.TeeOutputStream if you want to accumulate
        * the data on the fly as well.
        *
        * @return an OutputStream
        */
    OutputStream getOutputStream();

    /**
         * Return the digest calculated on what has been written to the calculator's output stream.
         *
         * @return a digest.
         */
    byte[] getDigest();

    /**
     * Reset the underlying digest calculator
     */
    void reset();
}