• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.bouncycastle.crypto.io;
2 
3 import java.io.FilterInputStream;
4 import java.io.IOException;
5 import java.io.InputStream;
6 
7 import org.bouncycastle.crypto.Digest;
8 
9 public class DigestInputStream
10     extends FilterInputStream
11 {
12     protected Digest digest;
13 
DigestInputStream( InputStream stream, Digest digest)14     public DigestInputStream(
15         InputStream stream,
16         Digest      digest)
17     {
18         super(stream);
19         this.digest = digest;
20     }
21 
read()22     public int read()
23         throws IOException
24     {
25         int b = in.read();
26 
27         if (b >= 0)
28         {
29             digest.update((byte)b);
30         }
31         return b;
32     }
33 
read( byte[] b, int off, int len)34     public int read(
35         byte[] b,
36         int off,
37         int len)
38         throws IOException
39     {
40         int n = in.read(b, off, len);
41         if (n > 0)
42         {
43             digest.update(b, off, n);
44         }
45         return n;
46     }
47 
getDigest()48     public Digest getDigest()
49     {
50         return digest;
51     }
52 }
53