crossplatform.ru

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

512es
  опции профиля:
сообщение 23.3.2010, 4:13
Сообщение #1


Участник
**

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

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




Репутация:   0  


Набрёл на такую штуку:
http://zetetic.net/software/sqlcipher

Кто-нибудь пробовал? Как собрать с qt4?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
8 страниц V   1 2 3 > »   
Начать новую тему
Ответов (1 - 74)
ViGOur
  опции профиля:
сообщение 27.3.2010, 14:03
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Ты по всей видимости первый, как соберешь, напиши как это сделал... ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 23.4.2010, 23:47
Сообщение #3


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

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

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




Репутация:   29  


Цитата(ViGOur @ 27.3.2010, 15:03) *
Ты по всей видимости первый, как соберешь, напиши как это сделал...
Видимо я первый, так что напишу... Точнее уже написал.
Привязка SQLCipher к Qt.
Прикрепленные файлы
Прикрепленный файл  sqlcipher.zip ( 67.63 килобайт ) Кол-во скачиваний: 411
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AntonH851
  опции профиля:
сообщение 25.5.2010, 8:07
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 20.2.2010
Из: Шебекино
Пользователь №: 1475

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




Репутация:   0  


подскажите пожалуста, что не так я сделал:

почему то ругается на ./configure
что это за каталог такой?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 25.5.2010, 10:55
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(AntonH851 @ 25.5.2010, 12:07) *
что это за каталог такой?
это не каталог, а файл shell-сценария, ты же сам пишешь:
./configure --prefix=.....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AntonH851
  опции профиля:
сообщение 25.5.2010, 12:14
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 20.2.2010
Из: Шебекино
Пользователь №: 1475

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 25.5.2010, 11:55) *
Цитата(AntonH851 @ 25.5.2010, 12:07) *
что это за каталог такой?
это не каталог, а файл shell-сценария, ты же сам пишешь:
./configure --prefix=.....

а где этот файл должен быть?
или в каком каталоге эти команды надо выполнять?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
alex977
  опции профиля:
сообщение 25.5.2010, 12:53
Сообщение #7


Активный участник
***

Группа: Участник
Сообщений: 310
Регистрация: 19.6.2008
Из: Россия, МО, г.Мытищи
Пользователь №: 206

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




Репутация:   8  


Цитата(AntonH851 @ 25.5.2010, 13:14) *
./configure --prefix=.....

а где этот файл должен быть?
или в каком каталоге эти команды надо выполнять?


Такой файл есть в каждом проекте, предусматривающем сборку из исходных кодов.
Соответственно, ./configure означает - выполнить сценарий (configure) из текущего каталога (./) - т.е. в каталоге того проекта, который и нужно собрать.

P.S. Опасно не знать таких вещей и пытаться что-то делать в Линуксе. Можно такого наворотить...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 25.5.2010, 13:09
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(alex977 @ 25.5.2010, 16:53) *
Опасно не знать таких вещей и пытаться что-то делать в Линуксе.
а он в виндовозе, видимо из под cigwina
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 25.5.2010, 15:34
Сообщение #9


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

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

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




Репутация:   29  


Цитата(Litkevich Yuriy @ 25.5.2010, 14:09) *
он в виндовозе, видимо из под cigwina
Это MSYS
Цитата(AntonH851 @ 25.5.2010, 9:07) *
почему то ругается на ./configure
Посмотрите внимательней на свой скриншет. У вас там ошибка в написании. Команды configue не существует :lol:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AntonH851
  опции профиля:
сообщение 26.5.2010, 7:43
Сообщение #10


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 20.2.2010
Из: Шебекино
Пользователь №: 1475

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




Репутация:   0  


Цитата(igor_bogomolov @ 25.5.2010, 16:34) *
Цитата(Litkevich Yuriy @ 25.5.2010, 14:09) *
он в виндовозе, видимо из под cigwina
Это MSYS
Цитата(AntonH851 @ 25.5.2010, 9:07) *
почему то ругается на ./configure
Посмотрите внимательней на свой скриншет. У вас там ошибка в написании. Команды configue не существует :lol:


Спасибо! Только почему то все равно выдает ту же ошибку:

Путь вроде к драйверу правильно указан... а что там еще может быть не так?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 26.5.2010, 12:27
Сообщение #11


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


AntonH851, а у тебя файл-то такой есть?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 26.5.2010, 17:40
Сообщение #12


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

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

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




Репутация:   29  


Конечно же выдает. Будь внимательнее, и двигайся по инструкции по шагам с самого начала, а не с середины.
В этот раз ты пытался запустить скрипт из домашней директории (~).

Т.е. ты с начала в консоли MSYS должен перейти в каталог с исходниками sqlcipher, а уже потом делать ./configure
Сборка самого sqlcipher и плагина для Qt, это два разных этапа.



Цитата(цитата с первого скриншета)
$ cd /c/Qt/2010.02/qt/src/plugins/sqldrivers/sqlcipher
Сюда на первом этапе тебе не надо. Тут ты потом будешь плагин собирать.
С начало нужно собрать сам sqlcipher. Для этого из консоли MSYS перейти в каталог с исходниками sqlcipher, в те что ты склонировал гитом. И вот в нем уже тебе надо будет скомандовать ./configure .......
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AntonH851
  опции профиля:
сообщение 27.5.2010, 8:14
Сообщение #13


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 20.2.2010
Из: Шебекино
Пользователь №: 1475

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




Репутация:   0  


./configure вроде выполнилось
но вот make выдало ошибку:

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 27.5.2010, 9:20
Сообщение #14


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

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

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




Репутация:   29  


не знаю в чем ошибка. У меня таких проблем не было. Может опять где-нибудь ошибся.
Сборка проверялась не один раз. И описание тоже. Даже разработчик sqlcipher ссылается на наш мануал
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AntonH851
  опции профиля:
сообщение 4.7.2010, 17:04
Сообщение #15


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 20.2.2010
Из: Шебекино
Пользователь №: 1475

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




Репутация:   0  


Очень нужна эта штука, решил еще раз попробовать...
Первым делом как я понимаю(в случае с виндой) надо установить msys...
При установке msys, после того как я указал путь к mingw начался какой-то процесс... и в результате и получил вот такое сообщение:
Цитата
Oh joy. You do not have c:/qt/2010.02/mingw/bin/make.exe. Keep it that way.

Если я правильно понимаю, это значит что необнаружен файл make.exe(которого действительно нет, потому что есть mingw32-make.exe), и что-то вроде "сделайте это другим путем".
Это не должно повлиять на дальнейший процесс сборки sqlcipher?
Помогите пожалуйста
Если есть у кого-нибудь OpenSSL дайте рабочую ссылку, а то чет не могу найти ту версию что указана нигде, или подойдет более поздняя?

Сообщение отредактировал AntonH851 - 4.7.2010, 17:13
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 4.7.2010, 18:00
Сообщение #16


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(AntonH851 @ 4.7.2010, 21:04) *
необнаружен файл make.exe(которого действительно нет, потому что есть mingw32-make.exe)
можно бросить рядом с mingw32-make.exe bat-файл, make.bat, такого содержания:
mingw32-make.exe %*
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AntonH851
  опции профиля:
сообщение 30.8.2010, 10:50
Сообщение #17


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 20.2.2010
Из: Шебекино
Пользователь №: 1475

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 4.7.2010, 19:00) *
Цитата(AntonH851 @ 4.7.2010, 21:04) *
необнаружен файл make.exe(которого действительно нет, потому что есть mingw32-make.exe)
можно бросить рядом с mingw32-make.exe bat-файл, make.bat, такого содержания:
mingw32-make.exe %*



это не помогло, переименовал mingw32-make.exe в make.exe, вроде проглотило, только выдало сообщение об обратном переименовании...

еще вот такой вопрос возник по конфигурированию:

./configure --prefix=/QTPATH/src/plugins/sqldrivers/sqlcipher --disable-tcl --disable-amalgamation
CFLAGS="-DSQLITE_HAS_CODEC -I../OpenSSL/include /c/Windows/System32/libeay32.dll"


нужно ли при этом изменять опцию -I../OpenSSL/include? т.е. если у меня OpenSSL находится в C:\OpenSSL\include
то я должен писать -I/C:/OpenSSL/include?

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 30.8.2010, 11:03
Сообщение #18


Старейший участник
****

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

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




Репутация:   5  


Цитата(AntonH851 @ 30.8.2010, 11:50) *
нужно ли при этом изменять опцию -I../OpenSSL/include? т.е. если у меня OpenSSL находится в C:\OpenSSL\include
то я должен писать -I/C:/OpenSSL/include?


Да. Туда пишется путь к хидерам OpenSSL.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 30.8.2010, 19:00
Сообщение #19


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

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

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




Репутация:   29  


Цитата(molchanoviv @ 30.8.2010, 12:03) *
Да. Туда пишется путь к хидерам OpenSSL.
Путь то пишется, но не так. В MSYS это будет выглядеть так -I/с/OpenSSL/include
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AntonH851
  опции профиля:
сообщение 1.9.2010, 9:54
Сообщение #20


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 20.2.2010
Из: Шебекино
Пользователь №: 1475

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




Репутация:   0  


Ну вот, выполняю configure:

Цитата
./configure --prefix=/c/qt/2010.02/qt/src/plugins/sqldrivers/sqlcipher --disable-tcl --disable-amalgamation
CFLAGS="-DSQLITE_HAS_CODEC -I/c/OpenSSL/include /c/Windows/System32/libeay32.dll"


Уже прогресс :). Выполняю make. Среди прочего вывода есть сообщения:

Цитата
gcc.exe: c:/Windows/System32/libeay32.dll: linker input file unused because linking not done


и такое:

Цитата
make: Circular utf.o <- utf.o dependency dropped.


а в конец вот это:



bin, include, lib в каталоге драйвера не появились...
Если можно, подскажите пожалуйста, как можно исправить вышеуказанные ошибки
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 3.9.2010, 21:08
Сообщение #21


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

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

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




Репутация:   29  


Цитата(AntonH851 @ 1.9.2010, 10:54) *
Если можно, подскажите пожалуйста, как можно исправить вышеуказанные ошибки
Была такая проблема, связанная с переходом на новую версию SQLite. Вроде разработчики пофиксили этот баг. Скачай новую версию sqlcipher v1.1.7, и попробуй собрать еще раз.

Подробнее этот вопрос обсуждается в SQLCipher Users
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
512es
  опции профиля:
сообщение 5.9.2010, 0:06
Сообщение #22


Участник
**

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

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




Репутация:   0  


о! Игорь! спасибо большущее))
у меня так и не дошли руки опробовать, уже и забыл что есть такой плагин)
а тут снова понадобилось, нагуглил вот чего:
http://www.zetetic.net/blog/2010/05/26/bui...cipher-with-qt/
и попал на твою статью в вики))
какого было моё удивление что тема эта была ещё давным давно инициирована мной))))

статья шикарная! то что надо) особенно хорошо что сборка описывается как под линукс так и под винду)
отличный способ для этого написать свой плагин бд)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
512es
  опции профиля:
сообщение 5.9.2010, 19:40
Сообщение #23


Участник
**

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

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




Репутация:   0  


Кстати, как вы думаете, коллеги:
Насколько надёжна такая шифрованная база?
Возможны ли случаи когда данные будут корруптиться?
И как быть с восстановлением в случае аппаратного сбоя? Не шифрованную базу на мой взгляд легче восстановить.

Вот ещё бы стандартный консольный менеджер склайта обучить работать с такой базой..

А ещё, насколько надёжно такое шифрование? Там вроде AES 256..

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


(сорь я ещё не читал мануалы, но думаю это обсуждение будет полезно остальным, кто сюда зайдёт)

Сообщение отредактировал 512es - 5.9.2010, 20:33
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.9.2010, 20:31
Сообщение #24


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(512es @ 5.9.2010, 23:40) *
А ещё, насколько надёжно такое шифрование? Там вроде AES 256..
тему разделил: Криптостойкость AES
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 14.9.2010, 7:33
Сообщение #25


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

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

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




Репутация:   29  


Вот появилось еще одно руководство по сборке SQLCipher нагло у нас скомуниздинное
http://www.qtcentre.org/wiki/index.php?tit...ryption_support
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 14.9.2010, 9:36
Сообщение #26


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


надо в нашей вики сделать вариант на аглицком
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 14.9.2010, 9:54
Сообщение #27


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

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

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




Репутация:   29  


Хм...
Такое впечатление что эту статью опубликовал сам разработчик sqlcipher. Раньше он давал ссылки на нашу Wiki и предлагал перевести её гуглом. Тем не менее вопрошающих было много и, видимо, он решил сделать английский вариант
http://groups.google.com/group/sqlcipher/b...bcbaae70414e01e

--------------------------------------------------------

Хотя у него свой блог есть. Так что, наверное, это написал кто то другой. Все равно не приятно что нет ссылки на первоисточник.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
512es
  опции профиля:
сообщение 16.9.2010, 0:59
Сообщение #28


Участник
**

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

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




Репутация:   0  


Ну, там и линк на оригинал есть тоже..)
Цитата
As a source this site was used.


А теперь по теме:
Выяснил, что в Gentoo Qt использует системную библиотеку sqlite. Qt собирается с ключом -system-sqlite. Вообщем то это даже лучше, потому что системная библиотека часто обновляется, в ней исправляют глюки, легко ставить плагины типа icu, fts3 и т.д.

Вот бы добавить в ebuild и SQLCipher..)))

Сообщение отредактировал 512es - 16.9.2010, 3:22
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 16.9.2010, 8:34
Сообщение #29


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

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

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




Репутация:   29  


Цитата(512es)
Ну, там и линк на оригинал есть тоже..)
Оу, действительно есть. Как то я её при первом прочтении не заметил. Теперь я спокоен :)

Цитата(512es)
Вот бы добавить в ebuild и SQLCipher..)))
Не знаю что такое ebuild (видимо какой то менеджер пакетов в Gentoo), а вот создать патч для Qt мысль была. Что бы можно было пересобирать Qt c поддержкой sqlcipher привычным способом configure -plugin-sql-sqlcipher. Но мне лень этим заниматься так как я сам sqlcipher не использую
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 16.9.2010, 8:44
Сообщение #30


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(512es @ 16.9.2010, 1:59) *
Вот бы добавить в ebuild и SQLCipher..)))

так что тебе мешает. пиши ebuild сам или ищи в оверлеях.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
512es
  опции профиля:
сообщение 17.9.2010, 15:10
Сообщение #31


Участник
**

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

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




Репутация:   0  


хмм.. а можно как то сделать патч SQLCipher'а, который накладывается на обычные сорцы склайта?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_AlekseyK_*
сообщение 9.11.2010, 13:31
Сообщение #32





Гости








    


Цитата(igor_bogomolov @ 14.9.2010, 7:33) *
Вот появилось еще одно руководство по сборке SQLCipher нагло у нас скомуниздинное
http://www.qtcentre.org/wiki/index.php?tit...ryption_support

Ну оно не нагло скомунизденное, а дополненное, потому как в данном руководстве некоторые пункты были пропущены и неопытный человек, который MinGW не знает не смог собрать бы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_AlekseyK_*
сообщение 9.11.2010, 13:36
Сообщение #33





Гости








    


Собрал примерчик SQL Widget Mapper, всё работает, но... не шифрует ничего: файлы (с шифрацией - QSQLCIPHER и без - QSQLITE) на вид совершенно одинаковы и SQLite Expert свободно "шифрованный" файл открывает. Что я мог сделать не так?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 9.11.2010, 14:02
Сообщение #34


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

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

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




Репутация:   29  


Цитата(Гость_AlekseyK_* @ 9.11.2010, 13:31) *
Ну оно не нагло скомунизденное, а дополненное, потому как в данном руководстве некоторые пункты были пропущены и неопытный человек, который MinGW не знает не смог собрать бы.
Пусть так. Я на самом деле не против, да и ссылку на нас они приложили. Это просто первая реакция такая была :) Хотя о каких дополнениях вы говорите так и не понял. :unknown:

Цитата(Гость_AlekseyK_* @ 9.11.2010, 13:36) *
Собрал примерчик SQL Widget Mapper, всё работает, но... не шифрует ничего
Просто так оно шифровать и не будет. query.exec("pragma key = 'password';"); сделали?

Лучше всего проверить работоспособность при помощи sqlbrowser из демонстрационных примеров Qt
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 9.11.2010, 14:25
Сообщение #35


Студент
*

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

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




Репутация:   0  


Цитата(igor_bogomolov @ 9.11.2010, 13:02) *
Просто так оно шифровать и не будет. query.exec("pragma key = 'password';"); сделали?

Конечно, я в Вашем примере принципиального ничего не менял (его пока тестирую):
query.exec("pragma key = '12345';");

Только попробовал 2 варианта:
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLCIPHER");
    //QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

    QString tableName = "test_crypted.db";
    //QString tableName = "test_plain.db";

    if (!QFile::exists(tableName)) {
....

Результат одинаков и SQLite свободно оба варианта читает.

Цитата(igor_bogomolov @ 9.11.2010, 13:02) *
Лучше всего проверить работоспособность при помощи sqlbrowser из демонстрационных примеров Qt

Что-то я такого не нашёл? И потом как он мне может помочь здесь? Шифрования нет.

P.S. Прошу прощения, sqlbrowser я нашёл.

P.P.S. SqlBrowser свободно читает "зашифрованный" файл.

Цитата(igor_bogomolov @ 9.11.2010, 13:27) *
Вы саму сборку sqlcipher проверяли. Если из командной строки (имею в виду консоль шифрованой sqlite) БД создать, она шифруется?

Как её проверить? Драйвер собрался, виден? По какой причине она может не шифровать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 9.11.2010, 14:27
Сообщение #36


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

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

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




Репутация:   29  


Цитата
И потом как он мне может помочь здесь?

Что бы удобнее было тестироваться. Просто с sqlbrowser ничего компилировать не надо. Только сам plagin sqlchipher. Запросы вводятся в поле ввода. Находится он в %QTDIR%/demos/sqlbrowser

Вы саму сборку sqlcipher проверяли. Если из командной строки (имею в виду консоль шифрованой sqlite) БД создать, она шифруется?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 9.11.2010, 14:32
Сообщение #37


Студент
*

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

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




Репутация:   0  


Драйвер собрался, виден!

Как её проверить? Драйвер собрался, виден. По какой причине она может не шифровать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 9.11.2010, 14:36
Сообщение #38


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

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

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




Репутация:   29  


Цитата(AlekseyK @ 9.11.2010, 14:25) *
Как её проверить?
Ну как это как? Создать БД и посмотреть файл базы данных в любом текстовом редакторе. Там сразу видно, шифрованная она или нет. Главное про прагму не забудьте.
А нужно это, для того что бы убедиться что с сама sqlcipher собрана и работает так как ожидается. Потом уже двигаться дальше и смотреть что не так с плагином для Qt или приложением

Цитата(AlekseyK @ 9.11.2010, 14:32) *
Драйвер собрался, виден!
Я говорю не про драйвер для Qt. А про сам sqlcipher
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 9.11.2010, 15:05
Сообщение #39


Студент
*

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

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




Репутация:   0  


Я понял, проверил - не шифрует. ПО моему у Вас в руководстве кое что пропущено:
http://sqlcipher.net/documentation
Цитата
# You must define SQLITE_HAS_CODEC and SQLITE_TEMP_STORE=2 in your application when including SQLCipher


Цитата
./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="/path/to/libcrypto.a"
make


P.S. А нет, не пропущено, опять прощу прощения.

Похоже, что путь к заголовкам OpenSSL у меня был неверно указан, версия OpenSSL поменялась, теперь нужно так:
Цитата
./configure --prefix=/qt/src/plugins/sqldrivers/sqlcipher --disable-tcl --disable-amalgamation
CFLAGS="-DSQLITE_HAS_CODEC -I/c/OpenSSL-Win32/include /c/Windows/System32/libeay32.dll"

Пересобрал, но всё равно не шифрует. Есть идеи?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 9.11.2010, 15:19
Сообщение #40


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

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

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




Репутация:   29  


Цитата(AlekseyK @ 9.11.2010, 14:52) *
Я понял, проверил - не шифрует.
Ну вот, значит проблема в самом sqlcipher. Она достаточно активно развивается. Возможно что то поломали в новой версии, я не в курсе.
Попробуйте связаться с разработчиками http://groups.google.com/group/sqlcipher


ОФФ:


Ого. Почитал сейчас в google группе и сходил по ссылке (тык). В общем из-за того что народ мучается и не умеет собирать это дело под windows они начали продавать уже скомпилированную версию за 100 баксов. Фигасе


Цитата
Пересобрал, но всё равно не шифрует. Есть идеи?
Больше нет. Либо что то изменилось с последнего момента как я её собирал, либо вы где то ещё ошиблись при сборке. Проверить сейчас возможности нет, нет винды на работе
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 9.11.2010, 15:59
Сообщение #41


Студент
*

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

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




Репутация:   0  


Да, ошибся при сборке, окончательный вариант:
Цитата
./configure --prefix=/qt/src/plugins/sqldrivers/sqlcipher --disable-tcl --disable-amalgamation CFLAGS="-DSQLITE_HAS_CODEC -I/c/OpenSSL/include /c/Windows/System32/libeay32.dll"

Пробовал сборку супротив Win32 OpenSSL v0.9.8m, и с Win32 OpenSSL v1.0.0a, остановился пока на 0.98.

Всё равно не работает пока. Блин.

А LDFLAGS="/path/to/libcrypto.a" не нужно указывать?! Что-то я его не нашёл, только в директории git-a.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 9.11.2010, 20:08
Сообщение #42


Студент
*

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

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




Репутация:   0  


В общем конечно они подробно расписывают как решить проблемы сборки здесь: http://groups.google.com/group/sqlcipher/b...5c6296b56bf4533 Кто собирал под Линукс может вспомнить про флажок -L и собрать, ;) остальным нужно будет прочитать вышеуказанный источник.

Сборка супротив Win32 OpenSSL v0.9.8m:
Цитата
./configure --prefix=/qt/src/plugins/sqldrivers/sqlcipher --disable-tcl --disable-amalgamation CFLAGS="-DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -I/c/OpenSSL/include /c/Windows/System32/libeay32.dll -L/c/OpenSSL/lib/MinGW" LDFLAGS="-leay32"


Сборка супротив Win32 OpenSSL v1.0.0a:
Цитата
./configure --prefix=/qt/src/plugins/sqldrivers/sqlcipher --disable-tcl --disable-amalgamation CFLAGS="-DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -I/c/OpenSSL-Win32/include /c/Windows/System32/libeay32.dll -L/c/OpenSSL-Win32/lib/MinGW" LDFLAGS="-leay32"


Всё работает. При тесте в sqlite3.exe не забывайте "pragma key = '12345';" (или какой у вас там пароль).

P.S. Ребята! Продаю сборки sqlcipher под Windows по демпинговым ценам - 50$!!! ;)

P.P.S. А вообще я бы расширил руководство, принимая во внимание вышесказанное, а также настройку MSYS.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 9.11.2010, 20:33
Сообщение #43


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

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

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




Репутация:   29  


AlekseyK, я только что скачал последний sqlcipher и openssl v1.0.0a. Собирал в точности по существующему руководству из нашей Wiki. Всё работает :)

Цитата(AlekseyK @ 9.11.2010, 20:08) *
а также настройку MSYS.
Теперь понятно что у тебя не работало. Видимо ты не правильно пути до mingw задал при установке msys. В моём руководстве написано так
Цитата
Скачиваем и устанавливаем на свой компьютер MSYS. В конце установки будет задано несколько вопросов, соглашаемся с ними и указываем путь до MinGW (входит в поставку Qt).
По ссылке конечно более правильно сделано, оно поможет решить проблему если инсталяция изначально была не совсем правильная

Цитата(AlekseyK @ 9.11.2010, 20:08) *
А вообще я бы расширил руководство
Ну так расширь, это же Wiki, правь спокойно :)

Цитата
P.S. Ребята! Продаю сборки sqlcipher под Windows по демпинговым ценам - 50$
Ну что ж, я не протестую, но первую прибыль сам понимаешь кому ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 9.11.2010, 20:53
Сообщение #44


Студент
*

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

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




Репутация:   0  


Цитата(igor_bogomolov @ 9.11.2010, 19:33) *
В конце установки будет задано несколько вопросов, соглашаемся с ними и указываем путь до MinGW (входит в поставку Qt).

Нет не поэтому: этот пункт я внимательно читал и сделал в точности. Сборка как раз нормально проходила. Проблемы были с путями: -I/c/OpenSSL/include, -L и т.п.

Цитата(igor_bogomolov @ 9.11.2010, 19:33) *
Ну что ж, я не протестую, но первую прибыль сам понимаешь кому ;)

Право первой брачной ночи (и прибыли) давно отменили. ;) А если серьёзно: большое спасибо за статью! :)

Цитата(igor_bogomolov @ 9.11.2010, 19:33) *
Ну так расширь, это же Wiki, правь спокойно :)

Сделаем, а то до 5-й страницы не у всех может терпения хватить. ;)

Ан нет, не дают править:

Цитата
У вас нет разрешения на действие «исправление этой страницы» по следующей причине:
Запрошенное действие могут выполнять только участники из групп Неактивирован, Новичок, Администратор, Модератор, Free DevStudio, Участник, Администратор WIKI.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 9.11.2010, 20:58
Сообщение #45


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

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

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




Репутация:   29  


Цитата(AlekseyK @ 9.11.2010, 20:53) *
Ан нет, не дают править:
Там в верхнем правом углу есть "Представиться системе". Логин и пароль такой же как на форуме.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 9.11.2010, 21:15
Сообщение #46


Студент
*

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

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




Репутация:   0  


Спасибо, поправил.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 12.12.2010, 17:32
Сообщение #47


Студент
*

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

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




Репутация:   0  


Это всё интересно: но как собрать sqlcipher в Visual Studio? Если у меня Qt SDK для VS?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 18.12.2010, 3:06
Сообщение #48


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

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

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




Репутация:   29  


AlekseyK, личный ящик у тебя пока не работает, поэтому решил написать здесь.
Коментарии к твоей последней правке на Wiki.

С правкой некоторых путей я согласен. Замена QTPATH на qt правильна, т.к. этот путь прописан в файле конфигурации MSYS. С заменой пути до OpenSSL не согласен. Исходники данной библиотеки могут быть где угодно. Но в принципе, это не так важно, думаю пользователь и сам догадается изменить путь до библиотеки. Так что можно оставить так. А вот теперь по поводу добавленных флагов компиляции. С этим нужно аккуратнее. Их должно быть минимальное количество, только те, что необходимы для сборки. Не забывай, что это всего лишь пример, он должен быть общим, а не повторять твою ситуацию. Поэтому, раз ты добавил -DSQLITE_TEMP_STORE=2, объясни зачем это нужно, потому что я собирал без него и все прекрасно работало. Если в этом флаге обязательной необходимости нет, его нужно убрать.

Далее, LDFLAGS="-leay32" нам совершенно не нужно, библиотека и так подключена. Так же как и -L/c/OpenSSL/lib/MinGW.

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

Либо поправьте всё сами, либо я отменю твои последние изменения.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 18.12.2010, 16:53
Сообщение #49


Студент
*

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

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




Репутация:   0  


Я объяснял зачем это нужно: -DSQLITE_TEMP_STORE=2 указан на сайте разработчика, LDFLAGS="-leay32" так же как и -L/c/OpenSSL/lib/MinGW нужны, так как без них у меня не собиралось, так же как и у многих (см. группу SQLCipher в на гугле).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.12.2010, 18:03
Сообщение #50


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(AlekseyK @ 18.12.2010, 18:53) *
Я объяснял
В Вики или на форуме?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 18.12.2010, 18:10
Сообщение #51


Студент
*

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

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




Репутация:   0  


На форуме, не смог дописать: редактирование сообщения не работает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 18.12.2010, 19:40
Сообщение #52


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

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

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




Репутация:   29  


Цитата(AlekseyK @ 18.12.2010, 16:53) *
Я объяснял зачем это нужно: -DSQLITE_TEMP_STORE=2 указан на сайте разработчика,
Действительно. Забыл уже просто.
Цитата(AlekseyK @ 18.12.2010, 16:53) *
(см. группу SQLCipher в на гугле).
Я так же как и ты нахожусь в этой группе и периодически слежу за тем, что там происходит, в том числе за твоим тредом :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 18.12.2010, 20:05
Сообщение #53


Студент
*

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

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




Репутация:   0  


Цитата(igor_bogomolov @ 18.12.2010, 18:40) *
Я так же как и ты нахожусь в этой группе и периодически слежу за тем, что там происходит, в том числе за твоим тредом

Ну и? Вот моё сообщение:
http://www.forum.crossplatform.ru/index.ph...ost&p=42582
и ссылка, что я в ней приводил:
http://groups.google.com/group/sqlcipher/b...5c6296b56bf4533
Я как бы сам дошёл до флага -L, но как видишь у многих эта проблема была. Кашу маслом не испортишь как говорится. Посему предлагаю оставить всё как есть.

P.S. Это хорошо, что ты за моим тредом следишь, ;) а собрать проект с sqlite3.c под Visual C++ пробовал? Файл проекта там по идее такой должен быть:
TARGET  = qsqlcipher

HEADERS  = ../../../sql/drivers/sqlite/qsql_sqlite.h
SOURCES  = smain.cpp \
    ../../../sql/drivers/sqlite/qsql_sqlite.cpp
QT += sql
SQLITE_TEMP_STORE=2
    
!system-sqlite:!contains( LIBS, .*sqlite.* ) {
    CONFIG(release, debug|release):DEFINES *= NDEBUG
    DEFINES += SQLITE_OMIT_LOAD_EXTENSION SQLITE_OMIT_COMPLETE 

    INCLUDEPATH += include

    win32 {
  HEADERS += ./include/sqlite3.h ./include/sqlite3ext.h
  SOURCES += sqlite3.c
        LIBS += ./lib/libeay32MD.lib
    }
    unix {
 QMAKE_RPATHDIR += lib
        LIBS += -Llib -lsqlite3
    }

} else {
    LIBS *= $$QT_LFLAGS_SQLITE
    QMAKE_CXXFLAGS *= $$QT_CFLAGS_SQLITE
}

include(../qsqldriverbase.pri)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 19.12.2010, 1:03
Сообщение #54


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

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

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




Репутация:   29  


Цитата(AlekseyK @ 18.12.2010, 20:05) *
Посему предлагаю оставить всё как есть.
Хорошо. Я своим предыдущем сообщением пытался дать понять, что я с тобой согласился :)

Цитата(igor_bogomolov @ 18.12.2010, 19:40) *
а собрать проект с sqlite3.c под Visual C++ пробовал?
Нет не пробовал. Не имею MSVC, и сборка под него меня не интересует

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 19.12.2010, 1:25
Сообщение #55


Студент
*

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

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




Репутация:   0  


Цитата(igor_bogomolov @ 19.12.2010, 0:03) *
Хорошо. Я своим предыдущем сообщением пытался дать понять, что я с тобой согласился :)

Вот и ЛАДушки! :)

Цитата(igor_bogomolov @ 19.12.2010, 0:03) *
Нет не пробовал. Не имею MSVC, и сборка под него меня не интересует

А я подумал: раз следишь за тредом... А а я вот имею MSVC... или он меня ;) :D Всё равно в конце концов я его конечно ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_vkjr_*
сообщение 29.1.2011, 18:29
Сообщение #56





Гости








    


Спасибо, ваша статья очень помогла :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 26.7.2011, 19:47
Сообщение #57


Студент
*

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

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




Репутация:   0  


1) Похоже, что последнее время собрать sql плугин для Qt стало невозможным без ручного вмешательства, проблема вот в чём: баг репорт. Т.е. файлы заголовков в Qt SDK лежат не там где нужно, поэтому автоматом собрать плугин не получится, только ручками копировать, а это не удобно. Кто-нибудь сталкивался с таким, это лечится?

2) Кому-то удавалось собрать плугин, если он лежит не дереве Qt (например, \QtSDK\QtSources\4.7.3\src\plugins\sqldrivers\sqlcipher\), а в произвольном месте, чтобы его можно было включить в контроль версий, автоматически собрать, а собранную библиотеку (плугин) прилинковать к своей программе? Интересуют Windows (VS), Linux (Mac по возможности)?

Пример проекта:
TARGET     = qsqlcipher

SOURCES    = smain.cpp
HEADERS    += sqlite3.h stdafx.h
SOURCES    += sqlite3.c

include(../../../sql/drivers/sqlite/qsql_sqlite.pri) 

QT += sql
SQLITE_TEMP_STORE=2
          
!system-sqlite:!contains( LIBS, .*sqlite.* ) {
    CONFIG(release, debug|release):DEFINES *= NDEBUG
    DEFINES += SQLITE_OMIT_LOAD_EXTENSION SQLITE_OMIT_COMPLETE 

    INCLUDEPATH += include

    win32 {
        INCLUDEPATH += c:\OpenSSL\include
        HEADERS    += c:\OpenSSL\include\openssl\evp.h
        LIBS += ./lib/libeay32MD.lib
    }
    unix {
    QMAKE_RPATHDIR += lib
        LIBS += -Llib -lsqlite3
    }

} else {
    LIBS *= $$QT_LFLAGS_SQLITE
    QMAKE_CXXFLAGS *= $$QT_CFLAGS_SQLITE
}

include(../qsqldriverbase.pri)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlekseyK
  опции профиля:
сообщение 27.7.2011, 19:30
Сообщение #58


Студент
*

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

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




Репутация:   0  


Решено, если кому надо - пишите письма ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
[Matrix]
  опции профиля:
сообщение 14.9.2011, 9:52
Сообщение #59


Новичок


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

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




Репутация:   0  


Цитата(AlekseyK @ 27.7.2011, 20:30) *
Решено, если кому надо - пишите письма ;)



я подумываю перейти с qtcreatora в студию, скорее всего будет нужно пересобрать драйвер с mingw на nmake. так что скоро будет много вопросов. а не рассматриваете вариант доработки статьи на wiki?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 14.9.2011, 10:08
Сообщение #60


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Цитата(AlekseyK @ 27.7.2011, 20:30) *
Решено, если кому надо - пишите письма ;)

AlekseyK, и правда чего писать письма, если проще написать в вики и саммому если что позднее освежить знания и другим помочь! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
[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.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
[Matrix]
  опции профиля:
сообщение 17.4.2013, 17:37
Сообщение #71


Новичок


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

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




Репутация:   0  


Если верить консоли (тестировал в линуксе обычную версию), грузить нужно

$ sqlite3 
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> SELECT "ы" LIKE "Ы";
0
sqlite> SELECT icu_load_collation('ru_RU', 'russian');
Error: no such function: icu_load_collation
sqlite> .load ./libsqliteicu.so
sqlite> SELECT icu_load_collation('ru_RU', 'russian');

sqlite> SELECT "ы" LIKE "Ы";
1
sqlite>


Осталось разобраться что делать в винде с sqlcipher'ом
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 18.4.2013, 11:50
Сообщение #72


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

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

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




Репутация:   12  


тут нет загрузки какого-то расширения. тут только collation выставляется, а это другая команда.
на сайте они пишут, что
Цитата
(18) Case-insensitive matching of Unicode characters does not work.

The default configuration of SQLite only supports case-insensitive comparisons of ASCII characters. The reason for this is that doing full Unicode case-insensitive comparisons and case conversions requires tables and logic that would nearly double the size of the SQLite library. The SQLite developers reason that any application that needs full Unicode case support probably already has the necessary tables and functions and so SQLite should not take up space to duplicate this ability.

Instead of providing full Unicode case support by default, SQLite provides the ability to link against external Unicode comparison and conversion routines. The application can overload the built-in NOCASE collating sequence (using sqlite3_create_collation()) and the built-in like(), upper(), and lower() functions (using sqlite3_create_function()). The SQLite source code includes an "ICU" extension that does these overloads. Or, developers can write their own overloads based on their own Unicode-aware comparison routines already contained within their project.

http://www.sqlite.org/faq.html

если при компиляции указан макрос включения icu, то сам icu намертво прилинкован к sqlite (кстати, там многие опции не существуют, которые у тебя проставлены в строке сборки, но они просто игнорируются).
просто почитай код sqlite, где стоит макрос SQLITE_ENABLE_ICU - там всё понятно.

а что касается cypher'а - вот тут я не знаю: может, ему ещё что-то нужно перегружать. тогда, вероятно, поверх icu он ставит ещё какую-то свою дополнительную библиотеку.
вообще, расширения sqlite - это просто перегрузка некоторых функций. в описании каждого расширения указано, что оно перегружает и как. в любом случае, лучше собирать все библиотеки из сорцов, одним компилятором.

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

у меня дома нет венды, а на работе мало времени на эксперименты. я собрала sqlite с icu без проблем. это работает без всяких дополнений.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Mish_ka_*
сообщение 31.5.2014, 9:43
Сообщение #73





Гости








    


Уже весь измучился.

Подскажите пожалуйста в чём проблема. Делал всё по инструкциям

MSYS MSYS-1.0.11 (c:\msys\1.0\)
Раскрывающийся текст

g:/Programs/Qt/Tools/mingw482_32 /mingw
g:/Programs/Qt/5.3 /qt
c:/ /c

OpenSSL Win32OpenSSL-1_0_1g (c:\OpenSSL\)
TCLTK tcltk-8.4.1-1 (g:\Programs\Qt\Tools\mingw482_32\)
SQLCipher отсюда https://github.com/sqlcipher/sqlcipher
QT 5.3

Конфигурирую так
Раскрывающийся текст
cd /c/sqlcipher
./configure --prefix=/qt/src/qtbase/src/plugins/sqldrivers/sqlcipher --disable-tcl --disable-amalgamation CFLAGS="-DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -I/c/OpenSSL/include /c/OpenSSL/libeay32.dll -L/c/OpenSSL/lib/MinGW" LDFLAGS="-leay32"


выдаёт такую ошибку
Раскрывающийся текст

checking whether to support threadsafe operation... yes
checking for library containing pthread_create... none required
checking for crypto library to use... openssl
checking for HMAC_Init_ex in -lcrypto... no
configure: error: Library crypto not found. Install openssl!"


Третьи сутки бьюсь...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 2.6.2014, 7:23
Сообщение #74


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

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

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




Репутация:   12  


смотри логи конфирурации. там подробно пишутся команды и все проверки. найди, где падает и посмотри, что ему нужно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_Oleg_*
сообщение 9.8.2014, 14:08
Сообщение #75





Гости








    


Цитата(Гость_Mish_ka_* @ 31.5.2014, 9:43) *
выдаёт такую ошибку:
configure: error: Library crypto not found. Install openssl!"


Я просто закоментировал в файле configure строки, которые сигнализируют об отсутствии OpenSSL.
Эта проверка не нужна, т.к. сборкой DLL'ки у меня занимается MSVC, а не MinGW.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

8 страниц V   1 2 3 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 20.4.2025, 0:09