Вы действительно не можете знать .
Если вы хотите приложить максимум усилий, вы можете сделать что-то вроде вычисления контрольной суммы sha512 или sha256 базы данных и сохранить ее в другом файле, но для этого потребуется прочитать вся база данных при каждом запуске приложения и завершение работы, что, вероятно, не понравилось бы пользователю. Это требует времени, больше времени, чем просто позволить SQLite3 творить чудеса при чтении и записи.
И кто-то злоумышленник также может изменить сохраненную контрольную сумму. (Было бы достаточно легко выяснить, как вы это делаете, если у них есть доступ к объектному коду вашей программы, поэтому нет смысла пытаться запутать гипотетическую процедуру проверки хеша.)
Во всяком случае, это их данные, верно? :) так что, если они хотят возиться за кулисами, пусть они это сделают. Вы должны убедиться, что любые входные данные, принимаемые вами на ваших серверах, обрабатываются с тем же недоверием, которое вы использовали бы при приеме входных данных из веб-браузера.