我编写了一个程序来加密给定的 jar 文件。非常简单。现在我正在编写第二个程序,通过暴力破解文件来解密该文件。 (它们都是独立的)
加密给定文件后,我最终得到一个包含加密文件数据的字节[]。我将此 byte[] 转换为字符串并将其输出到控制台,以便我可以轻松复制和粘贴数据。
然后我在“解密器”中初始化一个新字符串并粘贴加密文件的数据。对于小文件,这有效,但对于较大的文件,由于字符串文字大小限制,它不起作用。如何将这些数据硬编码到解密器中?
快速伪代码
加密器:
public byte[] encrypt(){
}
String encryptedData = Arrays.toString(encrypt(data));
解密器:
String encryptedData = "[-3, -66, -89, -14, 5, -72, 12, 5, ........
// note that I actually copy paste - hardcode the string
decrypt(stringToByteArray(encryptedData));
我无法使用临时文件在两个程序之间读取/写入。
最佳答案
分解编码文本并将各部分组合在一起,如下所示:
字符串加密数据=“blahblahblah”+“moreblahblah”+“etcetera”;
使用 f.e. 将加密数据写入文本文件并从那里读取。 BufferedWriter/FileWriter 和 BufferedReader/FileReader。
关于java - 如何规避字符串大小限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28126909/