macinputstream.java

来自「一个java开发的非常全面的关于证书发放」· Java 代码 · 共 54 行

JAVA
54
字号
package net.sourceforge.jcetaglib.tools;

import javax.crypto.Mac;
import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * MacInputStream. As it reads in data it passes it though a MAC
 */


public class MacInputStream extends FilterInputStream {
    private Mac mac = null;

    public MacInputStream(InputStream st,
                          Mac mac) {
        super(st);
        this.mac = mac;
    }

    public int read()
            throws IOException {
        int n = in.read();
        if (n > -1) {
            mac.update((byte) n);
        }

        return (n);
    }

    public int read(byte[] b)
            throws IOException {
        int n = in.read(b);
        if (n > -1) {
            mac.update(b, 0, n);
        }

        return (n);
    }

    public int read(byte[] b,
                    int o,
                    int l)
            throws IOException {
        int n = in.read(b, o, l);
        if (n > -1) {
            mac.update(b, o, n);
        }

        return (n);
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?