crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

8 страниц V  « < 5 6 7 8 >  
Ответить в данную темуНачать новую тему
> SQLite и криптография, например SQLCipher
[Matrix]
  опции профиля:
сообщение 3.2.2012, 18:52
Сообщение #61


Новичок


Группа: Новичок
Сообщений: 5
Регистрация: 14.9.2011
Пользователь №: 2872

Спасибо сказали: 0 раз(а)




Репутация:   0  


был драйвер, собранный с sqlcipher 1.1.8, на нем зашифрована БД, после обновления до sqlcipher 2, не расшифровывалась БД, пришлось откатиться назад
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
[Matrix]
  опции профиля:
сообщение 3.2.2012, 20:53
Сообщение #62


Новичок


Группа: Новичок
Сообщений: 5
Регистрация: 14.9.2011
Пользователь №: 2872

Спасибо сказали: 0 раз(а)




Репутация:   0  


с 1.1.9, 1.1.10 все работает, начиная с версии 2.0.0 не работает
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dream2work
  опции профиля:
сообщение 30.3.2012, 10:32
Сообщение #63


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 30.3.2012
Пользователь №: 3295

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте.
QT у меня собрано статически. Linux.
Собирал cqlcipher как пишет здесь

Цитата
В конце сборки В каталоге ~/qtsdk/qt/plugins/sqldrivers у Вас должен появиться файл libqsqlcipher.so

у меня там появились 'libqsqlcipher.a' 'libqsqlcipher.prl'
они же появились в папке /usr/local/Trolltech/Qt-4.8.0/plugins/sqldrivers
Насколько я понял libqsqlcipher.a - как раз предназначен для статической линковки.
Но как дальше подключить их к проекту т.к. QSqlDatabase::addDatabase("QSQLCIPHER") возвращает ошибку
QSqlDatabase: QSQLCIPHER driver not loaded
QSqlDatabase: available drivers: QSQLITE

Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 30.3.2012, 12:51
Сообщение #64


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(dream2work @ 30.3.2012, 11:32) *
Насколько я понял libqsqlcipher.a - как раз предназначен для статической линковки.
Но как дальше подключить их к проекту
Читайте про статические подключаемые модули
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dream2work
  опции профиля:
сообщение 30.3.2012, 13:05
Сообщение #65


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 30.3.2012
Пользователь №: 3295

Спасибо сказали: 0 раз(а)




Репутация:   0  


Спасибо. Как раз дошел до статической линковки библиотек.
В main.cpp добавил
 Q_IMPORT_PLUGIN(qsqlcipher)

в .pro
QTPLUGIN += qsqlcipher

Тепер такая ошибка.
:-1: error: cannot find -lqsqlcipher


Цитата
:-1: error: cannot find -lqsqlcipher
File not found:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dream2work
  опции профиля:
сообщение 2.4.2012, 12:08
Сообщение #66


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 30.3.2012
Пользователь №: 3295

Спасибо сказали: 0 раз(а)




Репутация:   0  


добавил в pro библиотеку (libsqlcipher.a) и автоматически сгенерировался код:
LIBS += -L/usr/local/Trolltech/Qt-4.8.0/plugins/sqldrivers/ -lqsqlcipher
INCLUDEPATH += /usr/local/Trolltech/Qt-4.8.0/plugins/sqldrivers
DEPENDPATH += /usr/local/Trolltech/Qt-4.8.0/plugins/sqldrivers
PRE_TARGETDEPS += /usr/local/Trolltech/Qt-4.8.0/plugins/sqldrivers/libqsqlcipher.a


теперь следующая ошибка
/home/admin/Documents/test_project/src/main/main.o:-1: In function `global constructors keyed to _Z16myMessageHandler9QtMsgTypePKc':
/home/admin/Documents/test_project/src/main/main.cpp:-1: error: undefined reference to `qt_plugin_instance_qsqlcipher()'
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
skozlovf
  опции профиля:
сообщение 25.11.2012, 16:54
Сообщение #67


Новичок


Группа: Новичок
Сообщений: 1
Регистрация: 29.8.2009
Пользователь №: 1032

Спасибо сказали: 1 раз(а)




Репутация:   0  


Недавно тоже понадобилось собрать sqlcipher для qt, но вариант с msys не устраивал. В результате родился cmake скрипт. Оснван на идее domehead100 ( https://groups.google.com/d/msg/sqlcipher/I...B8/x205cECTiI0J ).
В результате можно собирать библиотеку sqlcipher, шелл и плагин для qt используя msvc и msys.

В принципе можно рассматривать как альтернативу http://www.wiki.crossplatform.ru/index.php...ipher_%D0%BA_Qt
если, как у меня, не устраивает сборка при помощи mingw.

Тестировал на SQLCipher-2.0.6, sqlite-3.7.14.1, Qt-4.8.3, OpenSSL-1.0.1b
Выложил тут: https://github.com/skozlovf/sqlcipher-cmake
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 25.11.2012, 17:29
Сообщение #68


Студент
*

Группа: Участник
Сообщений: 22
Регистрация: 9.11.2010
Пользователь №: 2176

Спасибо сказали: 0 раз(а)




Репутация:   0  


Спасибо. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
[Matrix]
  опции профиля:
сообщение 16.4.2013, 8:19
Сообщение #69


Новичок


Группа: Новичок
Сообщений: 5
Регистрация: 14.9.2011
Пользователь №: 2872

Спасибо сказали: 0 раз(а)




Репутация:   0  


Необходимо собрать плагин с поддержкой регистронезависимого поиска по русскому языку, собирал sqlcipher 2 версии с ICU 5.1. В приложении Qt выполнение загрузки ICU расширения

"SELECT load_extension('icu.dll');"


завершается ошибкой

"error during initialization:  Unable to fetch row"



Сборка:

./configure --disable-tcl --disable-amalgamation --enable-load-extension CFLAGS="-DSQLITE_ENABLE_ICU -DSQLITE_HAS_CODEC -DSQLITE_ENABLE_FTS4 -DSQLITE_TEMP_STORE=2 -DSQLITE_MAX_ATTACHED=62 -DSQLITE_ENABLE_LOAD_EXTENSION  -I./ext/fts3 -I/c/OpenSSL-Win32/include -L/c/OpenSSL-Win32/lib/MinGW -I./ext/icu -L/C/build/icu/source/lib -I/C/build/icu/source/common -I/C/build/icu/source/i18n" LDFLAGS="-leay32 -licuuc -licuin -licudt"

make

cd ext/icu

gcc -shared icu.c -o icu.dll -DSQLITE_ENABLE_ICU -DSQLITE_HAS_CODEC -DSQLITE_ENABLE_FTS4 -DSQLITE_TEMP_STORE=2 -DSQLITE_MAX_ATTACHED=62 -I./ext/fts3 -I./ext/icu -L/C/build/icu/source/lib -I/C/build/icu/source/common -I/C/build/icu/source/i18n -licuuc -licuin -I../../src -I../../


не могу понять что я делаю не так
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 17.4.2013, 12:12
Сообщение #70


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата([Matrix] @ 16.4.2013, 11:19) *

не могу понять что я делаю не так

по-моему, там ICU линкуется прямо к SQLite и не надо ничего грузить. судя по коду, макрос ENABLE_ICU там включает инициализацию специальных функций для FTS.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

8 страниц V  « < 5 6 7 8 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.11.2024, 3:57