2003/02/12 06:21:05
[org.ibex.core.git] / src / org / bouncycastle / crypto / io / DigestOutputStream.java
diff --git a/src/org/bouncycastle/crypto/io/DigestOutputStream.java b/src/org/bouncycastle/crypto/io/DigestOutputStream.java
new file mode 100644 (file)
index 0000000..a2b00a6
--- /dev/null
@@ -0,0 +1,41 @@
+package org.bouncycastle.crypto.io;
+
+import java.io.*;
+
+import org.bouncycastle.crypto.Digest;
+
+public class DigestOutputStream
+    extends FilterOutputStream
+{
+    protected Digest digest;
+
+    public DigestOutputStream(
+        OutputStream    stream,
+        Digest          digest)
+    {
+        super(stream);
+        this.digest = digest;
+    }
+
+    public void write(int b)
+        throws IOException
+    {
+        digest.update((byte)b);
+        out.write(b);
+    }
+
+    public void write(
+        byte[] b,
+        int off,
+        int len)
+        throws IOException
+    {
+        digest.update(b, off, len);
+        out.write(b, off, len);
+    }
+
+    public Digest getDigest()
+    {
+        return digest;
+    }
+}