我正在尝试创建自定义输入流。我的问题是,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
请注意,创建自己的加密是不安全的,并且假设您这样做"只是为了好玩"并且不以任何方式认为您正在做的事情是安全的,您真的不需要任何特别的东西......
int i = in.read();
byte b = (byte) i;
byte e = encrypt(b);
out.write(e);
将是基本方法,假设byte encrypt(byte b)
进行"加密"的方法。此示例省略了检查流结束、异常处理、性能注意事项(您不想一次执行 1 个字节的操作(等。