package code.kalter.longflight.crypto; import java.io.IOException; import java.io.InputStream; /** * Шифровальный входной поток * * @author Kalter */ public class CIStream extends InputStream { private final InputStream istream; private final Random random; public CIStream(InputStream istream, int key) { this.istream = istream; this.random = new Random(key); } @Override public int read() throws IOException { int b = istream.read(); b = (b << 4) | (b >> 4); b ^= random.random(0xFF); return b; } @Override public int available() throws IOException { return istream.available(); } @Override public void close() throws IOException { istream.close(); } }