Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > Sqlite и шифрование |
Автор: yogi89 13.4.2010, 10:13 |
Доброго времени суток, господа. Работаю над программой-каталогом фирм, в качестве хранилища данных используется Sqlite. Одно из требований заказчика - шифрование файла БД. При выборе СУБД, бегло пробежал по возможностям SQLite, увидел, что поддерживается шифрование, обрадовался и остановил выбор на ней. И вот недавно при детальном изучении документации узнал, что шифрование поддерживается на уровне расширений, а они денег стоят. ![]() Менять движок поздно, платить деньги не вариант, хотелось бы услышать ваше мнение, как поступить, какие есть решения? У меня была мысль зашифровать файл БД и расшифровывать его при каждом запуске в память и работать с ним там, но ума не приложу, как это реализовать посредством API SQLite. ![]() Спасибо за ответы. С уважением, Александр. Версия sqlite либы - 3.6.23.1. Для доступа к базе используется API и небольшой набор классов. Взят отсюда. http://www.ararat.cz/doku.php/en:sqlitewrap |
Автор: yogi89 14.4.2010, 09:30 |
Неужели нет толковых идей ни у кого? |
Автор: Akella 14.4.2010, 12:51 |
Используй Interbase, желательно последнюю версию. |
Автор: yogi89 26.4.2010, 11:03 |
Вопрос решен. http://github.com/sjlombardo/sqlcipher Собрал библиотеку скулайта с данным экстеншином. Шифрование работает. ![]() |
Автор: yogi89 26.4.2010, 12:36 |
Без проблем. Библиотека во вложении. К ней нужна библиотека libeay32.dll, входящая в комплект OpenSSL. Найти последнюю - не проблема. Я собирал, линкуя с версией 0.9.8m. Для задания и изменения ключа используются две функции: sqlite3_key и sqlite3_rekey. Или через запросы `PRAGMA key(rekey)`. Подробнее на сайте http://github.com/sjlombardo/sqlcipher Здесь обсуждения и помощь http://groups.google.com/group/sqlcipher |
Автор: AntonH851 2.9.2010, 15:32 |
А как это штука собирается? |
Автор: UncleVader 23.10.2010, 14:52 |
yogi89, Не мог бы ты скомпилить новый релиз библиотеки или поподробнее рассказать как ее скомпилить самому? Спасибо! |
Автор: K1L0z 14.2.2011, 20:51 |
Кто-нибудь собирал библиотеку? Или последняя версия сама по себе поддерживает шифрование? |
Автор: UncleVader 15.2.2011, 09:15 | ||
Я собирал, потратил около недели на то чтобы хоть как-то разобраться! Сама по себе она не поддерживает шифрование, только самосбор с доп. библиотеками. Могу поделиться своей сборкой версии 3.7.2 |
Автор: K1L0z 15.2.2011, 12:39 | ||||||
UncleVader, Буду рад))) И я был бы очень признателен, если бы вы рассказали, как она собирается... у меня с английским не очень, в основном пользуюсь переводчиками, так что сам я наверное на этом поприще задержусь куда больше недели... :( Кстати, а вы случаем собирали не по инструкции ниже?
У меня при первой же команде в MSYS выдает ошибку:
и не понятно (по крайней мере мне) почему... |
Автор: UncleVader 17.2.2011, 14:01 | ||||
и по этой в том числе, но почему-то не все так просто и однозначно, там еще несколько тонкостей, уже сейчас всего и не помню, сомпилил с горем пополам и забыл. Вобщем http://upload.com.ua/get/902362401/sqlite_3.7.2_with_crypt.rar а по поводу
команду надо аккуратно копипастить или набирать руками, чтобы не было переносов |
Автор: K1L0z 17.2.2011, 15:36 |
Спасибо)))))) размерчик правда расстроил прямо :( не уж то с icudt38.dll работает быстрее чем с Delphi-йской Utf8ToUnicode? а на счет ошибки - она все равно остается, вставляю я с переносом или набираю ручками строку - разницы нет :( видимо, действительно что-то ещё нужно ![]() |
Автор: UncleVader 18.2.2011, 09:47 | ||
Размер действительно не радует, но из бесплатных вариантов этот кодек единственный, а он разработан под библиотеку icu, так что тут уж ничего не поделать |
Автор: Чип 18.2.2011, 14:10 |
Люди, помогите пожалуйста и мне! Проблема ровно такая же как и у топикстартера, только SQLCipher мне нужен скомпиленный под .Net. На sqlcipher.net есть уже скомпиленная версия, но стоит 150$: SQLCipher .DLL and ADO.NET provider (1-developer) - $149.99. Буду КРАЙНЕ благодарен тому кто поможет мне самому собрать данную штукенцию или соберёт её для меня, если это конечно не займёт много времени. |