我正在编写一个 UDP 程序来将字节 [] 发送到主机,我需要向主机发送加密文本 (RC4),主机由此解密并获取明文,但我遇到了一些问题,我在哪里转换 char []到 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() 中加密
我不明白为什么两者都显示相同的加密文本,但是当我解密 tester 时,结果与 RC4() 不同。