public static void main(String[] args) throws IOException {
int x;
int y;
int xo;
DataInputStream input = new DataInputStream(new FileInputStream(
"file1.dat"));
DataInputStream input1 = new DataInputStream(new FileInputStream(
"file2.dat"));
while (input.available() > 0) {
x = input.readInt();
// System.out.println("File 1 "+x);
y = input1.readInt();
// System.out.println("File 2 "+y);
xo=(x^y);
System.out.println(""+xo);
} }
我需要相互XOR.dat文件以获得清晰的文本,只需我们需要解密客户端和服务器日志文件,以便检查登录到服务器的用户,服务器生成的日志文件已加密
电流输出:
1281
7282
3861
所需输出:
ALICE
BOB
FRANK
您要将字符编号(例如,A 为 65(转换为字符串("65"(并输出数字。您还将使用 println
在其后添加换行符。你想输出字符('A'),并且可能没有任何换行符(print
(:
System.out.print((char)xo);
您还在读取未签名的short
,这不太可能是正确的,但这完全取决于文件的创建方式。通常文本的异或模糊处理是在字符级别完成的,因此您可能需要DataInputStream#readChar
。例如:
char x, y, xo;
// ...
while (input.available() > 0) {
x = input.readChar();
// System.out.println("File 1 "+x);
y = input1.readChar();
// System.out.println("File 2 "+y);
xo = (char)(x ^ y);
System.out.print(xo);
}
。但同样,这取决于文件的创建方式。完全有可能对其他大小 的块进行异或运算——byte
、int
等。