Я написал программу, которая шифрует данный файл jar. Совершенно прямо. Теперь я нахожусь в процессе написания второй программы, которая расшифровывает файл путем принудительной работы. (Они оба являются автономными)Как обойти ограничение размера строки?
После шифрования данного файла я получаю байт [], содержащий зашифрованные данные файла. Я преобразовал этот байт [] в String и сделал вывод на консоль, чтобы я мог легко скопировать и вставить данные.
Затем я инициализирую новую строку в «decrypter» и вставил эти данные в зашифрованный файл. Для небольших файлов это работает, но для больших файлов это не работает из-за ограничения размера строки. Как я могу перекодировать эти данные в decrypter?
Быстрый псевдокод
Encrypter:
public byte[] encrypt(){
}
String encryptedData = Arrays.toString(encrypt(data));
Decrypter:
String encryptedData = "[-3, -66, -89, -14, 5, -72, 12, 5, ........
// note that I actually copy paste - hardcode the string
decrypt(stringToByteArray(encryptedData));
Я не могу использовать временный файл для чтения/записи между обеими программами.
Что струнный предел буквального размера? Я никогда не слышал о таком пределе. –
@MarkoTopolnik [этот предел] (http://stackoverflow.com/a/8323747/2071828) Я полагаю. Это ограничение на длину литералов 'String', а не' String'. –
@boris Я бы рискнул, что это предел для строки String * constant *, а не string * literal *. В противном случае было бы легко обойти, объединив несколько литералов. –