| package org.bouncycastle.crypto.io; |
| |
| import java.io.FilterInputStream; |
| import java.io.IOException; |
| import java.io.InputStream; |
| |
| import org.bouncycastle.crypto.Digest; |
| |
| public class DigestInputStream |
| extends FilterInputStream |
| { |
| protected Digest digest; |
| |
| public DigestInputStream( |
| InputStream stream, |
| Digest digest) |
| { |
| super(stream); |
| this.digest = digest; |
| } |
| |
| public int read() |
| throws IOException |
| { |
| int b = in.read(); |
| |
| if (b >= 0) |
| { |
| digest.update((byte)b); |
| } |
| return b; |
| } |
| |
| public int read( |
| byte[] b, |
| int off, |
| int len) |
| throws IOException |
| { |
| int n = in.read(b, off, len); |
| if (n > 0) |
| { |
| digest.update(b, off, n); |
| } |
| return n; |
| } |
| |
| public Digest getDigest() |
| { |
| return digest; |
| } |
| } |