Одна вещь, которую вы можете сделать, это зашифровать данные при их поступлении в базу данных, а затем расшифровать их, когда они вернутся.Чтобы сделать это полуобслуживаемым способом, вам понадобится какой-то слой доступа к БД, где может происходить шифрование / дешифрование, чтобы вашему основному приложению не приходилось беспокоиться об этом.
Я неособенно хорошо разбирается в PhoneGap, так что я не уверен, есть ли какие-либо плагины, которые делают это.Но, если вы не возражаете против проблем шифрования / дешифрования, связанных с кодом вашего приложения, вы можете просто передать все через функцию encrypt(myData)
по пути в БД, а затем через функцию decrypt(myData)
по дорогеиз.Это будет работать очень хорошо, если вы собираетесь заходить в / из БД только в нескольких местах.
Это довольно тяжелое решение, но, как вы сказали, варианты довольно ограничены.
Наконец, я бы предложил использовать идентификатор устройства (если вы можете его получить) или какой-то другой способ получения ключа шифрования для каждой учетной записи или для каждого устройства, чтобы каждое устройство было сложнее взломать, а не всеустройства, использующие один и тот же ключ.Хорошими вариантами могут быть хеш имени пользователя или соленого имени пользователя, или хеш пароля соленого хэша пароля.