Если злоумышленник получил физический доступ к файлу базы данных, то никакая защита, кроме шифрования, не помешает ему получить доступ к данным сохраненным в таблицах.
В примере представлен один из способов шифрования данных с использованием криптографического алгоритма Blowfish, реализующего блочное симметричное шифрование.
Шифрование и расшифровка данных производится ключем сгенерированным на основе пароля введенного пользователем. Никакой авторизации в данном примере не предусмотрено умышленно, что бы показать работу именно механизма шифрования. В случае введения неверного пароля данные будут показаныв зашифрованном виде.
Есть процедура смены пароля.
Внимание!
При смене пароля нет проверки на правильность ввода старого пароля, если его ввести неверно данные будут испорчены.
В реальном приложении можно/нужно предусмотреть авторизацию и проверку пароля при смене на основании хеша правильного пароля который можно получить используя этот же алгоритм.
При разработке примера использованы материалы сайта http://www.di-mgt.com.au/crypto.html. На указанном сайте очень много материалов посвященных различным алгоритмам шифрования и их реализациям на различных языках программирования.