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

核心java需要解决方案(两个.dat文件都是加密的),java,Java,我需要将XOR.dat文件相互转换以获得明文,我们需要解密客户端和服务器日志文件,以便检查登录到服务器的用户,服务器生成的日志文件是加密的 电流输出: public static void main(String[] args) throws IOException { int x; int y; int xo; DataInputStream input = new DataInputStream(new FileInputStream(

我需要将XOR.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);
    } }
所需产出:

1281 
7282 
3861

您正在将字符编号(例如,A为65)转换为字符串(“65”)并输出数字。您还可以使用
println
在其后面添加换行符。您希望输出字符('A'),并且可能没有任何换行符(
print
):

您还读取了unsigned
short
s,这可能不正确,但这完全取决于文件的创建方式。通常,文本的XOR模糊处理是在字符级别完成的,因此您可能需要。例如:

System.out.print((char)xo);

…但这又取决于文件是如何创建的。完全可以对其他大小的块进行异或运算-
byte
int
,等等…

Bro!!我已经这样做了,但我认为问题在于我使用的读取方法,请建议我在必须读取加密的dat文件时应该做什么,并将该文件与另一个加密的dat文件异或,以在平面上获得答案text@ahsanmurtaza:通常使用XOR模糊处理(称之为加密有点过分),它是按字节完成的。所以你想读取字节,这就是(或仅仅是)。@T.J.Crowder bro我是java新手,请给我一段代码,用于将dat文件读取为字节,这将是非常值得赞赏的,因为它会在xo=x^y上产生错误;现在该怎么办呢?非常感谢兄弟,我仍在努力完成工作,非常感谢你的努力;)请同时提供输入文件
available()
不是流结束测试。请参阅Javadoc。读取循环应一直运行,直到捕获到
EOFEException
System.out.print((char)xo);
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);
}