diff options
Diffstat (limited to 'libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/MacOutputStream.java')
-rw-r--r-- | libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/MacOutputStream.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/MacOutputStream.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/MacOutputStream.java new file mode 100644 index 000000000..340b994eb --- /dev/null +++ b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/io/MacOutputStream.java @@ -0,0 +1,42 @@ +package org.spongycastle.crypto.io; + +import java.io.IOException; +import java.io.OutputStream; + +import org.spongycastle.crypto.Mac; + +public class MacOutputStream + extends OutputStream +{ + protected Mac mac; + + public MacOutputStream( + Mac mac) + { + this.mac = mac; + } + + public void write(int b) + throws IOException + { + mac.update((byte)b); + } + + public void write( + byte[] b, + int off, + int len) + throws IOException + { + mac.update(b, off, len); + } + + public byte[] getMac() + { + byte[] res = new byte[mac.getMacSize()]; + + mac.doFinal(res, 0); + + return res; + } +} |