Да, JAR - это просто ZIP-файлы, поэтому можно полностью открыть один из них с помощью WinZip и просмотреть его содержимое. Если вы знаете, что делаете, вы можете найти простой текстовый пароль внутри.
Похоже, ваш JAR содержит клиент, который подключается напрямую к базе данных. Вы не говорите, делается ли это через Интернет, VPN или локальную сеть. База данных развернута удаленно с клиента?
Это одна из причин, по которой клиент-серверные приложения исчезли: их трудно защитить через Интернет.
Ваше приложение для меня звучит как классический клиент-сервер. Имею ли я это право?
Средний уровень обычно вводится между клиентом и базой данных для проверки безопасности, проверки и привязки входных данных и передачи запросов соответствующему обработчику для выполнения. Попросите пользователей представить учетные данные, которые ваш средний уровень должен проверить, прежде чем передавать их в базу данных.
Он также может дать вам шанс противостоять атакам SQL-инъекций.
Если вы зашифруете содержимое JAR, вам придется написать собственный загрузчик классов, чтобы расшифровать их при загрузке. Не для слабонервных.
Если ваш клиент - приложение Swing, со всей логикой и базами данных, встроенными в слушатели и обработчики событий, зарегистрированные для каждого компонента, у вас будет серьезная перезапись. Вы перейдете к более сервисно-ориентированной архитектуре, где вся работа выполняется службами на стороне сервера. Клиент делает только то, что он должен в классическом MVC: передавать события на сервер и отображать результаты. Ваш клиент будет намного легче.
Это станет самым большим шоком для вашей команды разработчиков и бизнеса.