Храните текстовые файлы безопасно в JAR - PullRequest
1 голос
/ 13 апреля 2011

Есть ли способ в Java для безопасного хранения внешних файлов (внутри jar)? Файлы Java скомпилированы в файлы .class и не читаются.

Я планирую использовать этот механизм для хранения файлов sql, в которых хранятся запросы, однако я не хочу, чтобы они были читаемыми при извлечении банки. Внешние файлы предварительно настроены, потому что мы получаем подсветку синтаксиса при разработке вместо помещения их в строку.

Ответы [ 3 ]

2 голосов
/ 13 апреля 2011

JAR-файл - это, в основном, ZIP-файл, поэтому вы можете поместить в него все, что захотите. Там нет встроенного шифрования, поэтому, если вы пытаетесь сделать файлы SQL нечитаемыми, вам придется зашифровать их (а затем дешифровать в своем коде). Я не понимаю, что вы подразумеваете под «Внешние файлы предварительно, потому что тогда у нас есть подсветка синтаксиса при разработке вместо помещения их в строку».

1 голос
/ 13 апреля 2011

Конечно, вы можете положить их в банку. Оказавшись там, вы можете получить их с помощью метода getResourceAsStream ClassLoader.

Задача состоит в том, чтобы не дать другим людям извлечь их. Если ваш код может их читать, то может кто-то другой. Каковы ваши требования здесь?

1 голос
/ 13 апреля 2011

Да, люди делают это постоянно. Просто добавьте файлы в банку, а затем получите к ним доступ с помощью

getResourceAsStream . Если вы строите с помощью maven, вы просто добавляете их в src / main / resources, чтобы поместить их в банку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...