Вам не хватает смысла, когда вы думаете о пароле к базе данных Firebird - сервер с открытым исходным кодом, поэтому нет способа сделать то, что вы хотите. Пользователь может просто перекомпилировать сервер с закомментированной проверкой пароля.
В принципе, есть только две вещи, которые вы могли бы сделать:
Напишите свои собственные изменения на сервере Firebird, чтобы он записывал файл базы данных, который несовместим со всеми другими серверами. Тогда не имеет значения, что люди могут перенести базу данных на другой компьютер, поскольку стандартные исполняемые файлы сервера не смогут получить доступ к данным в базе данных.
Записывать в файл только зашифрованные данные, чтобы не имело значения, что доступ к базе данных возможен.
И то и другое, конечно же, не является надежным, так как решительный взломщик может просто использовать ваше собственное приложение для получения данных. Наличие разрешения на присоединение отладчика к запущенному процессу может быть достаточным для остановки выполнения вашего приложения в любой момент времени и проверки (расшифрованных) данных в оперативной памяти. См. Также вопрос SO «Как повысить безопасность памяти в Delphi?» , особенно этот ответ , для получения дополнительной информации по этой теме.
Кстати: это то, что может быть сделано любым механизмом базы данных, который вы выберете, чтобы ответить на последнюю часть вашего вопроса.