Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.64
suvorov
5 / 5 / 0
Регистрация: 14.11.2012
Сообщений: 110
#1

SQLite база данных с паролем - Программирование Android

03.12.2013, 18:14. Просмотров 3354. Ответов 7
Метки нет (Все метки)

Есть база данных защищенная ключом!
Сама база данных хранится на устройстве. При подключении к базе надо как то передать пароль, но в интернете ничего не нашел на эту тему. Подключение осуществляется следующим образом:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
 public MyDatabase(Context context) {
       super(context, DATABASE_NAME, null, DATABASE_VERSION);  
        //super(new DatabaseContext(context), DATABASE_NAME, null, DATABASE_VERSION);]
       File sdcard = Environment.getExternalStorageDirectory();    
       String dbfile = sdcard.getAbsolutePath() + File.separator+ "databases" + File.separator + "en.db";
       if (!dbfile.endsWith(".db"))
       {
           dbfile += ".db" ;
       }
 
       File result = new File(dbfile);
       database = SQLiteDatabase.openOrCreateDatabase(result, null); 
    }
Очень надеюсь на хоть какую-то помощь
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2013, 18:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос SQLite база данных с паролем (Программирование Android):

База данных SQLite - Программирование Android
Добрый день. Может я повторюсь с вопросом, но вы уж меня простите, не могу найти... Подскажите, пожалуйста, где можно прочитать как создать...

База данных sqlite - Программирование Android
Доброго времени суток. Пишу приложение в котором возможна отправка запросов и на вставку и на чтение БД. Насколько я ...

Не создается база данных SQLite - Программирование Android
Здравствуйте уважаемы форумчане! Столкнулся с проблем, не создается база данных. При запросе данных с таблицы выскакивает ошибка и...

SQLite база данных (новичек) - Программирование Android
Здравствуйте уважаемые программисты. Подскажите пожалуйста как можно при создании таблицы в базе данных вытаскивать название с...

Android, ListView, база данных SQLite - Программирование Android
Как достать картинку из БД (SQLite) и поместить её в ListView??? помогите, пожалуйста :)

AutoCompleteTextView + база sqlite - Программирование Android
Вопрос вот в чем, имеется база и элемент AutoCompleteTextView. Задача в том, чтобы в AutoCompleteTextView подгружался столбец с названиями...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
03.12.2013, 22:20 #2
Насколько я знаю, официально шифрование и пароли в SQLite не поддерживается!!!!
Есть сторонняя наработка (библиотека), но за ее надежность не ручаюсь (самому запустить не удалось).
0
suvorov
5 / 5 / 0
Регистрация: 14.11.2012
Сообщений: 110
03.12.2013, 22:36  [ТС] #3
Tester64,
вы случаем не SQLCiphe имеете ввиду?
Просто не хотелось бы выкладывать базу данных в открытую. Столько труда было на нее потрачено...
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
04.12.2013, 01:48 #4
Цитата Сообщение от suvorov Посмотреть сообщение
вы случаем не SQLCiphe имеете ввиду?
Похоже - ДА (давно искал прошлый раз). Пока в своем проекте отказался от шифрования... Отложил "на потом".

Насколько я помню, минусами этой библиотеки были
1) большая программа (увеличивала размер программы чуть-ли не на 3х мегабайта)
2) возможны проблемы при использовании класических библиотек и вьювов

Можешь попробовать вручную зашифровать текстовые поля базы простыми алгоритмами (будут проблемы с быстрым поиском по индексам)
1
suvorov
5 / 5 / 0
Регистрация: 14.11.2012
Сообщений: 110
04.12.2013, 02:49  [ТС] #5
Цитата Сообщение от Tester64 Посмотреть сообщение
Можешь попробовать вручную зашифровать текстовые поля базы простыми алгоритмами
Это совсем не вариант, так как база очень большая.

Выходит никаких вариантов нет? Кто использовал SQLCiphe, поделитесь опытом!?
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
04.12.2013, 04:19 #6
Цитата Сообщение от suvorov Посмотреть сообщение
Это совсем не вариант, так как база очень большая.
Если глобальный поиск не нужен, то вполне подойдет! Зашифруешь один раз (долго), а расшифровывай только нужное. Вполне пойдет для простых справочников - код - название - инфо (блюда, болячки, товары)

p.s. SQLCiphe не использовал, но хотел бы... Сейчас времени на тесты нет. Мне ЗДЕСЬ никто дельных советов по этому вопросу не дал (пол года назад задавал). Если получится - отпишись! Хочется знать что это хоть у кого-то получилось, значит и у меня есть шанс!
0
suvorov
5 / 5 / 0
Регистрация: 14.11.2012
Сообщений: 110
06.12.2013, 03:32  [ТС] #7
Несколько часов провел за SQLChiper. Этот код я взял с их оф сайта. При попытке соединиться с базой, выдает такую ошибку:
net.sqlcipher.database.SQLiteException: file is encrypted or is not a database
Может быть файл не так закодирован? Знает может кто, как привильно ключ задавать?


Java
1
2
3
4
5
6
7
SQLiteDatabase.loadLibs(context);
       
       File sdcard = Environment.getExternalStorageDirectory();    
            
       String dbfile = sdcard.getAbsolutePath() + File.separator+ "Android" + File.separator + "obb" + File.separator + "com.test.nl" + File.separator + "main.2.com.test.nl.db";
 
       database = SQLiteDatabase.openOrCreateDatabase(dbfile, "test123", null);
Добавлено через 21 час 4 минуты
Для добавления ключа использовал 3 разные программы. Так вот, каждая их них не может открыть зашифрованную базу другой программы. Возможно и из-за этого на андроиде тоже по этой причине не открывает...
Использовал SQLiteManager, SQLite Maestro и SQLiteExpertPro.
Помогите
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
06.12.2013, 21:13 #8
Я так понимаю: SQLiteManager, SQLite Maestro и SQLiteExpertPro поддерживают класическую схему базы, а SQLChiper полностью ее подменят ради шифрования. В результате все программы будут натыкаться на "не правильные" значения в нужных местах и "вылетать". Если библиотека вооще у тебя заработает (надеюсь! у меня не получилось), то тебе прийдется создавать ПОЛНОСТЬЮ свои инструменты для чтения, записи и отладки работы с базой (адская работка, но результат полезный).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2013, 21:13
Привет! Вот еще темы с ответами:

База SqLite - проверка записей на существование - Программирование Android
Помоги разрешить следующую ситуацию. у меня есть метод который получает данные из интернета в Json. Я данные разбираю и записываю в...

База SQLite: метод по созданию таблицы не вызывается - Программирование Android
Не пойму что не так. Раньше с ним не работал Пытался реализовать пример из сети, но что то не хочет, подозреваю что не создана сама...

Постолбцовое отображение данных из базы данных SQLite - Программирование Android
Уважаемые форумчане, помогите пожалуйста. Необходимо вывести данные из таблицы базы данных в TextView. Вот код, когда в TextView...

Вывод данных из базы данных SQLite - Программирование Android
Здравствуйте уважаемые форумчане! Делаю программу для работы с базой данных SQLite. Смысл простой: есть одна база, в ней 9 таблиц, от 2 до...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.12.2013, 21:13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru