加密char []到String到byte []转换导致不同的结果

时间:2017-11-03 12:16:17

标签: java arrays string udp rc4-cipher

我正在写一个UDP程序来发送byte []给主机,我需要发送一个加密文本(RC4)到主机,由此主机解密并获得明文但我遇到了一些问题,我在哪里转换char [] to byte []发送到主机,主机将首先将其转换为字符串然后获取字节来解密字节。

    String data = new String(RC4().toString().getBytes()); // Simulate host recieve bytes then i convert to string to convert to char[] for decryption.
    char[] tester = data.toCharArray();
    System.out.println("EN:"+RC4());// Display [C@6d06d69c
    System.out.println(tester);     // Display [C@6d06d69c
    System.out.println(RC4D(tester)); // Display some gibberish.
    System.out.println(RC4D(RC4()));  // Display the correct plain text

RC4()加密函数和RC4D()解密函数都返回char [],我硬编码msg以加密RC4()

我不明白为什么两者都显示相同的加密文本但是当我解密测试时,结果与RC4()不同。

0 个答案:

没有答案