Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Sqlite и шифрование 
V
    Опции темы
yogi89
Дата 13.4.2010, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 3.7.2008
Где: Южно-Сахалинск

Репутация: нет
Всего: нет



Доброго времени суток, господа.
  Работаю над программой-каталогом фирм, в качестве хранилища данных используется Sqlite.
Одно из требований заказчика - шифрование файла БД. При выборе СУБД, бегло пробежал по возможностям SQLite, увидел, что поддерживается шифрование, обрадовался и остановил выбор на ней. И вот недавно при детальном изучении документации узнал, что шифрование поддерживается на уровне расширений,  а они денег стоят. smile
   Менять движок поздно, платить деньги не вариант, хотелось бы услышать ваше мнение, как поступить, какие есть решения? У меня была мысль зашифровать файл БД и расшифровывать его при каждом запуске в память и работать с ним там, но ума не приложу, как это реализовать посредством API SQLite. smile

Спасибо за ответы. С уважением, Александр. 

Версия sqlite либы - 3.6.23.1.
Для доступа к базе используется API и небольшой набор классов. Взят отсюда. http://www.ararat.cz/doku.php/en:sqlitewrap
PM Jabber   Вверх
yogi89
Дата 14.4.2010, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 3.7.2008
Где: Южно-Сахалинск

Репутация: нет
Всего: нет



Неужели нет толковых идей ни у кого?
PM Jabber   Вверх
Akella
Дата 14.4.2010, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(yogi89 @  13.4.2010,  10:13 Найти цитируемый пост)
Одно из требований заказчика - шифрование файла БД.

Используй Interbase, желательно последнюю версию.
PM MAIL   Вверх
yogi89
Дата 26.4.2010, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 3.7.2008
Где: Южно-Сахалинск

Репутация: нет
Всего: нет



Вопрос решен. 
http://github.com/sjlombardo/sqlcipher
Собрал библиотеку скулайта с данным экстеншином. Шифрование работает. smile
PM Jabber   Вверх
former
Дата 26.4.2010, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 7
Всего: 17



Цитата(yogi89 @  26.4.2010,  11:03 Найти цитируемый пост)
Собрал библиотеку скулайта с данным экстеншином. Шифрование работает.

Ну так может и с другими поделишься, что-бы повторно люди темы не создавали.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
yogi89
Дата 26.4.2010, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 3.7.2008
Где: Южно-Сахалинск

Репутация: нет
Всего: нет



Без проблем. 
Библиотека во вложении. 
К ней нужна библиотека libeay32.dll, входящая в комплект OpenSSL. Найти последнюю - не проблема. Я собирал, линкуя с версией 0.9.8m.
Для задания и изменения ключа используются две функции: sqlite3_key и sqlite3_rekey. Или через запросы `PRAGMA key(rekey)`. Подробнее на сайте http://github.com/sjlombardo/sqlcipher
Здесь обсуждения и помощь http://groups.google.com/group/sqlcipher

Присоединённый файл ( Кол-во скачиваний: 110 )
Присоединённый файл  sqlite3.dll 466,50 Kb
PM Jabber   Вверх
AntonH851
Дата 2.9.2010, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 14.9.2009

Репутация: нет
Всего: нет



А как это штука собирается?


PM MAIL   Вверх
UncleVader
Дата 23.10.2010, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 25.8.2010

Репутация: нет
Всего: нет



yogi89,
Не мог бы ты скомпилить новый релиз библиотеки или поподробнее рассказать как ее скомпилить самому?
Спасибо! 
PM MAIL   Вверх
K1L0z
  Дата 14.2.2011, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 14.2.2011

Репутация: нет
Всего: нет



Кто-нибудь собирал библиотеку? Или последняя версия сама по себе поддерживает шифрование?
PM   Вверх
UncleVader
Дата 15.2.2011, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 25.8.2010

Репутация: нет
Всего: нет



Цитата(K1L0z @ 14.2.2011,  20:51)
Кто-нибудь собирал библиотеку? Или последняя версия сама по себе поддерживает шифрование?

Я собирал, потратил около недели на то чтобы хоть как-то разобраться!
Сама по себе она не поддерживает шифрование, только самосбор с доп. библиотеками. 
Могу поделиться своей сборкой версии 3.7.2
PM MAIL   Вверх
K1L0z
Дата 15.2.2011, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 14.2.2011

Репутация: нет
Всего: нет



UncleVader,
Буду рад)))
И я был бы очень признателен, если бы вы рассказали, как она собирается... у меня с английским не очень, в основном пользуюсь переводчиками, так что сам я наверное на этом поприще задержусь куда больше недели... :(
Кстати, а вы случаем собирали не по инструкции ниже?
Цитата
1. Установить Win32OpenSSL-0_9_8l.exe в C:\OpenSSL
2. Установить tcltk-8.4.1-1.exe (может и без tcltk соберется, но я ставил)
3. Скопировать libeay32.dll из OpenSSL в директорию sqlcipher
4. Скопировать файлы из C:\OpenSSL\lib\MinGW в c:\MinGW\lib 
5. Запустить MSYS и перейти в каталог sqlcipher (например, так: cd /c/sqlcipher)
6 Выполнить в MSYS
Цитата
./configure --disable-tcl --disable-amalgamation CFLAGS="-
DSQLITE_HAS_CODE -I/c/OpenSSL/include" LDFLAGS="-leay32 -L/c/OpenSSL/lib" 

make 

make dll


У меня при первой же команде в MSYS выдает ошибку:
Цитата
Root@GURU /c/sqlcipher
$ ./configure --disable-tcl --disable-amalgamation CFLAGS="-
DSQLITE_HAS_CODE -I/c/OpenSSL/include" LDFLAGS="-leay32 -L/c/OpenSSL/lib"
checking build system type... i686-pc-mingw32
checking host system type... i686-pc-mingw32
checking for gcc... gcc
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log' for more details.
configure: WARNING: Cache variable ac_cv_env_CFLAGS_value contains a newline.

и не понятно (по крайней мере мне) почему...

Это сообщение отредактировал(а) K1L0z - 16.2.2011, 18:02
PM   Вверх
UncleVader
Дата 17.2.2011, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 25.8.2010

Репутация: нет
Всего: нет



Цитата

Кстати, а вы случаем собирали не по инструкции ниже?
...

и по этой в том числе, но почему-то не все так просто и однозначно, там еще несколько тонкостей, уже сейчас всего и не помню, сомпилил с горем пополам и забыл. Вобщем  sqlite_3.7.2_with_crypt.rar на upload.com.ua

а по поводу 
Цитата

и не понятно (по крайней мере мне) почему...

команду надо аккуратно копипастить или набирать руками, чтобы не было переносов
PM MAIL   Вверх
K1L0z
Дата 17.2.2011, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 14.2.2011

Репутация: нет
Всего: нет



Спасибо))))))
размерчик правда расстроил прямо :( не уж то с icudt38.dll работает быстрее чем с Delphi-йской Utf8ToUnicode?

а на счет ошибки - она все равно остается, вставляю я с переносом или набираю ручками строку - разницы нет :(
видимо, действительно что-то ещё нужно  smile 

Это сообщение отредактировал(а) K1L0z - 17.2.2011, 16:01
PM   Вверх
UncleVader
Дата 18.2.2011, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 25.8.2010

Репутация: нет
Всего: нет



Цитата(K1L0z @ 17.2.2011,  15:36)
Спасибо))))))
размерчик правда расстроил прямо :( не уж то с icudt38.dll работает быстрее чем с Delphi-йской Utf8ToUnicode?

Размер действительно не радует, но из бесплатных вариантов этот кодек единственный, а он разработан под библиотеку icu, так что тут уж ничего не поделать
PM MAIL   Вверх
Чип
Дата 18.2.2011, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 26.3.2008

Репутация: нет
Всего: нет



Люди, помогите пожалуйста и мне!

Проблема ровно такая же как и у топикстартера, только SQLCipher мне нужен скомпиленный под .Net.

На sqlcipher.net есть уже скомпиленная версия, но стоит 150$: SQLCipher .DLL and ADO.NET provider (1-developer) - $149.99.

Буду КРАЙНЕ благодарен тому кто поможет мне самому собрать данную штукенцию или соберёт её для меня, если это конечно не займёт много времени.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1066 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.