У меня есть настольное приложение Java (исполняемый файл jar), которое доступно клиентам на компакт-диске. Затем «autorun.inf» автоматически запускает jar, и приложение запускается с компакт-диска (следовательно, работает в среде только для чтения).
Это приложение должно получить доступ к некоторым известным данным и как-то их использовать. Поскольку приложение является автономным, эти данные следует распространять вместе с приложением в виде файлов.
Теперь наступают сложные цели:
Эти данные представляют собой просто столбцы чисел, аналогичные экспорту таблицы базы данных. И наиболее удобный способ доступа к нему был бы в точности такой, как если бы это была таблица базы данных, где можно выполнять SQL-запросы к этим файлам.
Эти данные должны быть конфиденциальными для пользователей клиентов. Хотя данные должны распространяться вместе с приложением, они не могут быть разборчивы для пользователей. Таким образом, данные должны быть каким-то образом зашифрованы или запутаны.
Поэтому я прошу вашей помощи, в основном, чтобы указать мне некоторые идеи, которые помогут мне понять и обсудить с вами, как лучше всего реализовать такие функции.
Большое спасибо заранее,
Alves
Редактировать # 1:
Использование встроенного ядра базы данных - отличная идея, которая решит обе проблемы одновременно. Но это вызывает у меня некоторые вопросы:
Нужно ли ядру базы данных записывать файлы куда-нибудь? Я сделал несколько тестов с HSQLDB, и я думаю, что это делает. Это может быть проблемой, поскольку приложение запускается с компакт-диска.
Если такие файлы действительно нужны, могу ли я их выпустить вместе с приложением вместо создания на лету?
Просто чтобы подтвердить, что если я использую зашифрованную базу данных, мне нужно где-то в приложении поместить секретный ключ, который заставит меня расшифровать его, верно?