核心Java需要解决方案(两个.dat文件都是加密的)


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);
}

。但同样,这取决于文件的创建方式。完全有可能对其他大小 的块进行异或运算——byteint等。

最新更新