我正在尝试创建自定义输入流。我的问题是,read()方法返回一个0-255的整数,但我需要将其转换为一个字节,解密它,并将其转换回整数。怎么样?
我需要类似的东西:
InputStream in = ...;
OutputStream out = ...;
int unsigned = in.read();
byte signed = unsignedIntToSignedByte(unsigned); // from -128 to 127
... // Editing it here
outputstream.write(signedByteToUnsignedInt(signed)); // from 0 - 255
答案 0 :(得分:0)
注意到创建自己的加密是不安全的,并且假设您正在执行此操作并且只是为了好玩而且#34;并且不要以任何方式思考你所做的事情是否安全,你真的不需要任何特别的东西......
int i = in.read();
byte b = (byte) i;
byte e = encrypt(b);
out.write(e);
将是基本方法,假设byte encrypt(byte b)
方法执行"加密"。从这个例子中省略了检查流末尾,异常处理,性能考虑(你不想一次执行1个字节)等。