![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
512es |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() |
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Ты по всей видимости первый, как соберешь, напиши как это сделал...
![]() |
|
|
igor_bogomolov |
![]()
Сообщение
#3
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Ты по всей видимости первый, как соберешь, напиши как это сделал... Видимо я первый, так что напишу... Точнее уже написал. Привязка SQLCipher к Qt.
Прикрепленные файлы
|
|
|
AntonH851 |
![]()
Сообщение
#4
|
Студент ![]() Группа: Участник Сообщений: 66 Регистрация: 20.2.2010 Из: Шебекино Пользователь №: 1475 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
подскажите пожалуста, что не так я сделал:
![]() почему то ругается на ./configure что это за каталог такой? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
AntonH851 |
![]()
Сообщение
#6
|
Студент ![]() Группа: Участник Сообщений: 66 Регистрация: 20.2.2010 Из: Шебекино Пользователь №: 1475 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
alex977 |
![]()
Сообщение
#7
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 310 Регистрация: 19.6.2008 Из: Россия, МО, г.Мытищи Пользователь №: 206 Спасибо сказали: 77 раз(а) Репутация: ![]() ![]() ![]() |
./configure --prefix=..... а где этот файл должен быть? или в каком каталоге эти команды надо выполнять? Такой файл есть в каждом проекте, предусматривающем сборку из исходных кодов. Соответственно, ./configure означает - выполнить сценарий (configure) из текущего каталога (./) - т.е. в каталоге того проекта, который и нужно собрать. P.S. Опасно не знать таких вещей и пытаться что-то делать в Линуксе. Можно такого наворотить... |
|
|
Litkevich Yuriy |
![]()
Сообщение
#8
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
igor_bogomolov |
![]()
Сообщение
#9
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
он в виндовозе, видимо из под cigwina Это MSYSпочему то ругается на ./configure Посмотрите внимательней на свой скриншет. У вас там ошибка в написании. Команды configue не существует ![]() |
|
|
AntonH851 |
![]()
Сообщение
#10
|
Студент ![]() Группа: Участник Сообщений: 66 Регистрация: 20.2.2010 Из: Шебекино Пользователь №: 1475 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
он в виндовозе, видимо из под cigwina Это MSYSпочему то ругается на ./configure Посмотрите внимательней на свой скриншет. У вас там ошибка в написании. Команды configue не существует ![]() Спасибо! Только почему то все равно выдает ту же ошибку: ![]() Путь вроде к драйверу правильно указан... а что там еще может быть не так? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#11
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
AntonH851, а у тебя файл-то такой есть?
|
|
|
igor_bogomolov |
![]()
Сообщение
#12
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Конечно же выдает. Будь внимательнее, и двигайся по инструкции по шагам с самого начала, а не с середины.
В этот раз ты пытался запустить скрипт из домашней директории (~). Т.е. ты с начала в консоли MSYS должен перейти в каталог с исходниками sqlcipher, а уже потом делать ./configure Сборка самого sqlcipher и плагина для Qt, это два разных этапа. Цитата(цитата с первого скриншета) $ cd /c/Qt/2010.02/qt/src/plugins/sqldrivers/sqlcipher Сюда на первом этапе тебе не надо. Тут ты потом будешь плагин собирать.С начало нужно собрать сам sqlcipher. Для этого из консоли MSYS перейти в каталог с исходниками sqlcipher, в те что ты склонировал гитом. И вот в нем уже тебе надо будет скомандовать ./configure ....... |
|
|
AntonH851 |
![]()
Сообщение
#13
|
Студент ![]() Группа: Участник Сообщений: 66 Регистрация: 20.2.2010 Из: Шебекино Пользователь №: 1475 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
./configure вроде выполнилось
но вот make выдало ошибку: ![]() |
|
|
igor_bogomolov |
![]()
Сообщение
#14
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
не знаю в чем ошибка. У меня таких проблем не было. Может опять где-нибудь ошибся.
Сборка проверялась не один раз. И описание тоже. Даже разработчик sqlcipher ссылается на наш мануал |
|
|
AntonH851 |
![]()
Сообщение
#15
|
Студент ![]() Группа: Участник Сообщений: 66 Регистрация: 20.2.2010 Из: Шебекино Пользователь №: 1475 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Очень нужна эта штука, решил еще раз попробовать...
Первым делом как я понимаю(в случае с виндой) надо установить 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 |
![]()
Сообщение
#16
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
AntonH851 |
![]()
Сообщение
#17
|
Студент ![]() Группа: Участник Сообщений: 66 Регистрация: 20.2.2010 Из: Шебекино Пользователь №: 1475 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
необнаружен файл make.exe(которого действительно нет, потому что есть mingw32-make.exe) можно бросить рядом с mingw32-make.exe bat-файл, make.bat, такого содержания:
это не помогло, переименовал 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 |
![]()
Сообщение
#18
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
igor_bogomolov |
![]()
Сообщение
#19
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
AntonH851 |
![]()
Сообщение
#20
|
Студент ![]() Группа: Участник Сообщений: 66 Регистрация: 20.2.2010 Из: Шебекино Пользователь №: 1475 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Ну вот, выполняю 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" Уже прогресс ![]() Цитата 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 |
![]()
Сообщение
#21
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Если можно, подскажите пожалуйста, как можно исправить вышеуказанные ошибки Была такая проблема, связанная с переходом на новую версию SQLite. Вроде разработчики пофиксили этот баг. Скачай новую версию sqlcipher v1.1.7, и попробуй собрать еще раз.Подробнее этот вопрос обсуждается в SQLCipher Users |
|
|
512es |
![]()
Сообщение
#22
|
Участник ![]() ![]() Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
о! Игорь! спасибо большущее))
у меня так и не дошли руки опробовать, уже и забыл что есть такой плагин) а тут снова понадобилось, нагуглил вот чего: http://www.zetetic.net/blog/2010/05/26/bui...cipher-with-qt/ и попал на твою статью в вики)) какого было моё удивление что тема эта была ещё давным давно инициирована мной)))) статья шикарная! то что надо) особенно хорошо что сборка описывается как под линукс так и под винду) отличный способ для этого написать свой плагин бд) |
|
|
512es |
![]()
Сообщение
#23
|
Участник ![]() ![]() Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
Кстати, как вы думаете, коллеги:
Насколько надёжна такая шифрованная база? Возможны ли случаи когда данные будут корруптиться? И как быть с восстановлением в случае аппаратного сбоя? Не шифрованную базу на мой взгляд легче восстановить. Вот ещё бы стандартный консольный менеджер склайта обучить работать с такой базой.. А ещё, насколько надёжно такое шифрование? Там вроде AES 256.. и вот ещё вопрос: можно ли существующую базу преобразовать в шифрованую или надо обязательно создавать по новой? и, есть ли функция смены пароля на базу? (сорь я ещё не читал мануалы, но думаю это обсуждение будет полезно остальным, кто сюда зайдёт) Сообщение отредактировал 512es - 5.9.2010, 20:33 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#24
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
А ещё, насколько надёжно такое шифрование? Там вроде AES 256.. тему разделил: Криптостойкость AES
|
|
|
igor_bogomolov |
![]()
Сообщение
#25
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Вот появилось еще одно руководство по сборке SQLCipher нагло у нас скомуниздинное
http://www.qtcentre.org/wiki/index.php?tit...ryption_support |
|
|
Litkevich Yuriy |
![]()
Сообщение
#26
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
надо в нашей вики сделать вариант на аглицком
|
|
|
igor_bogomolov |
![]()
Сообщение
#27
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Хм...
Такое впечатление что эту статью опубликовал сам разработчик sqlcipher. Раньше он давал ссылки на нашу Wiki и предлагал перевести её гуглом. Тем не менее вопрошающих было много и, видимо, он решил сделать английский вариант http://groups.google.com/group/sqlcipher/b...bcbaae70414e01e -------------------------------------------------------- Хотя у него свой блог есть. Так что, наверное, это написал кто то другой. Все равно не приятно что нет ссылки на первоисточник. |
|
|
512es |
![]()
Сообщение
#28
|
Участник ![]() ![]() Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
Ну, там и линк на оригинал есть тоже..)
Цитата 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 |
![]()
Сообщение
#29
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(512es) Ну, там и линк на оригинал есть тоже..) Оу, действительно есть. Как то я её при первом прочтении не заметил. Теперь я спокоен ![]() Цитата(512es) Вот бы добавить в ebuild и SQLCipher..))) Не знаю что такое ebuild (видимо какой то менеджер пакетов в Gentoo), а вот создать патч для Qt мысль была. Что бы можно было пересобирать Qt c поддержкой sqlcipher привычным способом configure -plugin-sql-sqlcipher. Но мне лень этим заниматься так как я сам sqlcipher не использую
|
|
|
kwisp |
![]()
Сообщение
#30
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
512es |
![]()
Сообщение
#31
|
Участник ![]() ![]() Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
хмм.. а можно как то сделать патч SQLCipher'а, который накладывается на обычные сорцы склайта?
|
|
|
Гость_AlekseyK_* |
![]()
Сообщение
#32
|
Гости ![]() |
Вот появилось еще одно руководство по сборке SQLCipher нагло у нас скомуниздинное http://www.qtcentre.org/wiki/index.php?tit...ryption_support Ну оно не нагло скомунизденное, а дополненное, потому как в данном руководстве некоторые пункты были пропущены и неопытный человек, который MinGW не знает не смог собрать бы. |
|
|
Гость_AlekseyK_* |
![]()
Сообщение
#33
|
Гости ![]() |
Собрал примерчик SQL Widget Mapper, всё работает, но... не шифрует ничего: файлы (с шифрацией - QSQLCIPHER и без - QSQLITE) на вид совершенно одинаковы и SQLite Expert свободно "шифрованный" файл открывает. Что я мог сделать не так?
|
|
|
igor_bogomolov |
![]()
Сообщение
#34
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Ну оно не нагло скомунизденное, а дополненное, потому как в данном руководстве некоторые пункты были пропущены и неопытный человек, который MinGW не знает не смог собрать бы. Пусть так. Я на самом деле не против, да и ссылку на нас они приложили. Это просто первая реакция такая была ![]() ![]() Собрал примерчик SQL Widget Mapper, всё работает, но... не шифрует ничего Просто так оно шифровать и не будет. query.exec("pragma key = 'password';"); сделали?Лучше всего проверить работоспособность при помощи sqlbrowser из демонстрационных примеров Qt |
|
|
AlekseyK |
![]()
Сообщение
#35
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Просто так оно шифровать и не будет. query.exec("pragma key = 'password';"); сделали? Конечно, я в Вашем примере принципиального ничего не менял (его пока тестирую):
Только попробовал 2 варианта:
Результат одинаков и SQLite свободно оба варианта читает. Лучше всего проверить работоспособность при помощи sqlbrowser из демонстрационных примеров Qt Что-то я такого не нашёл? И потом как он мне может помочь здесь? Шифрования нет. P.S. Прошу прощения, sqlbrowser я нашёл. P.P.S. SqlBrowser свободно читает "зашифрованный" файл. Вы саму сборку sqlcipher проверяли. Если из командной строки (имею в виду консоль шифрованой sqlite) БД создать, она шифруется? Как её проверить? Драйвер собрался, виден? По какой причине она может не шифровать? |
|
|
igor_bogomolov |
![]()
Сообщение
#36
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Цитата И потом как он мне может помочь здесь? Что бы удобнее было тестироваться. Просто с sqlbrowser ничего компилировать не надо. Только сам plagin sqlchipher. Запросы вводятся в поле ввода. Находится он в %QTDIR%/demos/sqlbrowser Вы саму сборку sqlcipher проверяли. Если из командной строки (имею в виду консоль шифрованой sqlite) БД создать, она шифруется? |
|
|
AlekseyK |
![]()
Сообщение
#37
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Драйвер собрался, виден!
Как её проверить? Драйвер собрался, виден. По какой причине она может не шифровать? |
|
|
igor_bogomolov |
![]()
Сообщение
#38
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Как её проверить? Ну как это как? Создать БД и посмотреть файл базы данных в любом текстовом редакторе. Там сразу видно, шифрованная она или нет. Главное про прагму не забудьте. А нужно это, для того что бы убедиться что с сама sqlcipher собрана и работает так как ожидается. Потом уже двигаться дальше и смотреть что не так с плагином для Qt или приложением Драйвер собрался, виден! Я говорю не про драйвер для Qt. А про сам sqlcipher
|
|
|
AlekseyK |
![]()
Сообщение
#39
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 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 |
![]()
Сообщение
#40
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Я понял, проверил - не шифрует. Ну вот, значит проблема в самом sqlcipher. Она достаточно активно развивается. Возможно что то поломали в новой версии, я не в курсе. Попробуйте связаться с разработчиками http://groups.google.com/group/sqlcipher ОФФ: Ого. Почитал сейчас в google группе и сходил по ссылке (тык). В общем из-за того что народ мучается и не умеет собирать это дело под windows они начали продавать уже скомпилированную версию за 100 баксов. Фигасе Цитата Пересобрал, но всё равно не шифрует. Есть идеи? Больше нет. Либо что то изменилось с последнего момента как я её собирал, либо вы где то ещё ошиблись при сборке. Проверить сейчас возможности нет, нет винды на работе
|
|
|
AlekseyK |
![]()
Сообщение
#41
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 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 |
![]()
Сообщение
#42
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 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 |
![]()
Сообщение
#43
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
AlekseyK, я только что скачал последний sqlcipher и openssl v1.0.0a. Собирал в точности по существующему руководству из нашей Wiki. Всё работает
![]() а также настройку MSYS. Теперь понятно что у тебя не работало. Видимо ты не правильно пути до mingw задал при установке msys. В моём руководстве написано такЦитата Скачиваем и устанавливаем на свой компьютер MSYS. В конце установки будет задано несколько вопросов, соглашаемся с ними и указываем путь до MinGW (входит в поставку Qt). По ссылке конечно более правильно сделано, оно поможет решить проблему если инсталяция изначально была не совсем правильнаяА вообще я бы расширил руководство Ну так расширь, это же Wiki, правь спокойно ![]() Цитата P.S. Ребята! Продаю сборки sqlcipher под Windows по демпинговым ценам - 50$ Ну что ж, я не протестую, но первую прибыль сам понимаешь кому ![]() |
|
|
AlekseyK |
![]()
Сообщение
#44
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
В конце установки будет задано несколько вопросов, соглашаемся с ними и указываем путь до MinGW (входит в поставку Qt). Нет не поэтому: этот пункт я внимательно читал и сделал в точности. Сборка как раз нормально проходила. Проблемы были с путями: -I/c/OpenSSL/include, -L и т.п. Ну что ж, я не протестую, но первую прибыль сам понимаешь кому ![]() Право первой брачной ночи (и прибыли) давно отменили. ![]() ![]() Ну так расширь, это же Wiki, правь спокойно ![]() Сделаем, а то до 5-й страницы не у всех может терпения хватить. ![]() Ан нет, не дают править: Цитата У вас нет разрешения на действие «исправление этой страницы» по следующей причине:
Запрошенное действие могут выполнять только участники из групп Неактивирован, Новичок, Администратор, Модератор, Free DevStudio, Участник, Администратор WIKI. |
|
|
igor_bogomolov |
![]()
Сообщение
#45
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
AlekseyK |
![]()
Сообщение
#46
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо, поправил.
|
|
|
AlekseyK |
![]()
Сообщение
#47
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Это всё интересно: но как собрать sqlcipher в Visual Studio? Если у меня Qt SDK для VS?
|
|
|
igor_bogomolov |
![]()
Сообщение
#48
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
AlekseyK, личный ящик у тебя пока не работает, поэтому решил написать здесь.
Коментарии к твоей последней правке на Wiki. С правкой некоторых путей я согласен. Замена QTPATH на qt правильна, т.к. этот путь прописан в файле конфигурации MSYS. С заменой пути до OpenSSL не согласен. Исходники данной библиотеки могут быть где угодно. Но в принципе, это не так важно, думаю пользователь и сам догадается изменить путь до библиотеки. Так что можно оставить так. А вот теперь по поводу добавленных флагов компиляции. С этим нужно аккуратнее. Их должно быть минимальное количество, только те, что необходимы для сборки. Не забывай, что это всего лишь пример, он должен быть общим, а не повторять твою ситуацию. Поэтому, раз ты добавил -DSQLITE_TEMP_STORE=2, объясни зачем это нужно, потому что я собирал без него и все прекрасно работало. Если в этом флаге обязательной необходимости нет, его нужно убрать. Далее, LDFLAGS="-leay32" нам совершенно не нужно, библиотека и так подключена. Так же как и -L/c/OpenSSL/lib/MinGW. В общем, аккуратнее вносите правки. Ничего лишнего там быть не должно. Либо поправьте всё сами, либо я отменю твои последние изменения. |
|
|
AlekseyK |
![]()
Сообщение
#49
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Я объяснял зачем это нужно: -DSQLITE_TEMP_STORE=2 указан на сайте разработчика, LDFLAGS="-leay32" так же как и -L/c/OpenSSL/lib/MinGW нужны, так как без них у меня не собиралось, так же как и у многих (см. группу SQLCipher в на гугле).
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#50
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
AlekseyK |
![]()
Сообщение
#51
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
На форуме, не смог дописать: редактирование сообщения не работает.
|
|
|
igor_bogomolov |
![]()
Сообщение
#52
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Я объяснял зачем это нужно: -DSQLITE_TEMP_STORE=2 указан на сайте разработчика, Действительно. Забыл уже просто. (см. группу SQLCipher в на гугле). Я так же как и ты нахожусь в этой группе и периодически слежу за тем, что там происходит, в том числе за твоим тредом ![]() |
|
|
AlekseyK |
![]()
Сообщение
#53
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Я так же как и ты нахожусь в этой группе и периодически слежу за тем, что там происходит, в том числе за твоим тредом Ну и? Вот моё сообщение: http://www.forum.crossplatform.ru/index.ph...ost&p=42582 и ссылка, что я в ней приводил: http://groups.google.com/group/sqlcipher/b...5c6296b56bf4533 Я как бы сам дошёл до флага -L, но как видишь у многих эта проблема была. Кашу маслом не испортишь как говорится. Посему предлагаю оставить всё как есть. P.S. Это хорошо, что ты за моим тредом следишь, ![]()
|
|
|
igor_bogomolov |
![]()
Сообщение
#54
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Посему предлагаю оставить всё как есть. Хорошо. Я своим предыдущем сообщением пытался дать понять, что я с тобой согласился ![]() а собрать проект с sqlite3.c под Visual C++ пробовал? Нет не пробовал. Не имею MSVC, и сборка под него меня не интересует |
|
|
AlekseyK |
![]()
Сообщение
#55
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Хорошо. Я своим предыдущем сообщением пытался дать понять, что я с тобой согласился ![]() Вот и ЛАДушки! ![]() Нет не пробовал. Не имею MSVC, и сборка под него меня не интересует А я подумал: раз следишь за тредом... А а я вот имею MSVC... или он меня ![]() ![]() ![]() |
|
|
Гость_vkjr_* |
![]()
Сообщение
#56
|
Гости ![]() |
Спасибо, ваша статья очень помогла
![]() |
|
|
AlekseyK |
![]()
Сообщение
#57
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
1) Похоже, что последнее время собрать sql плугин для Qt стало невозможным без ручного вмешательства, проблема вот в чём: баг репорт. Т.е. файлы заголовков в Qt SDK лежат не там где нужно, поэтому автоматом собрать плугин не получится, только ручками копировать, а это не удобно. Кто-нибудь сталкивался с таким, это лечится?
2) Кому-то удавалось собрать плугин, если он лежит не дереве Qt (например, \QtSDK\QtSources\4.7.3\src\plugins\sqldrivers\sqlcipher\), а в произвольном месте, чтобы его можно было включить в контроль версий, автоматически собрать, а собранную библиотеку (плугин) прилинковать к своей программе? Интересуют Windows (VS), Linux (Mac по возможности)? Пример проекта:
|
|
|
AlekseyK |
![]()
Сообщение
#58
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Решено, если кому надо - пишите письма
![]() |
|
|
[Matrix] |
![]()
Сообщение
#59
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 14.9.2011 Пользователь №: 2872 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
ViGOur |
![]()
Сообщение
#60
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
[Matrix] |
![]()
Сообщение
#61
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 14.9.2011 Пользователь №: 2872 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
был драйвер, собранный с sqlcipher 1.1.8, на нем зашифрована БД, после обновления до sqlcipher 2, не расшифровывалась БД, пришлось откатиться назад
|
|
|
[Matrix] |
![]()
Сообщение
#62
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 14.9.2011 Пользователь №: 2872 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
с 1.1.9, 1.1.10 все работает, начиная с версии 2.0.0 не работает
|
|
|
dream2work |
![]()
Сообщение
#63
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 30.3.2012 Пользователь №: 3295 Спасибо сказали: 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 |
![]()
Сообщение
#64
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Насколько я понял libqsqlcipher.a - как раз предназначен для статической линковки. Читайте про статические подключаемые модули
Но как дальше подключить их к проекту |
|
|
dream2work |
![]()
Сообщение
#65
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 30.3.2012 Пользователь №: 3295 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо. Как раз дошел до статической линковки библиотек.
В main.cpp добавил
в .pro
Тепер такая ошибка.
Цитата :-1: error: cannot find -lqsqlcipher
File not found: |
|
|
dream2work |
![]()
Сообщение
#66
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 30.3.2012 Пользователь №: 3295 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
добавил в pro библиотеку (libsqlcipher.a) и автоматически сгенерировался код:
теперь следующая ошибка
|
|
|
skozlovf |
![]()
Сообщение
#67
|
Новичок Группа: Новичок Сообщений: 1 Регистрация: 29.8.2009 Пользователь №: 1032 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Недавно тоже понадобилось собрать 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 |
![]()
Сообщение
#68
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо.
![]() |
|
|
[Matrix] |
![]()
Сообщение
#69
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 14.9.2011 Пользователь №: 2872 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Необходимо собрать плагин с поддержкой регистронезависимого поиска по русскому языку, собирал sqlcipher 2 версии с ICU 5.1. В приложении Qt выполнение загрузки ICU расширения
завершается ошибкой
Сборка:
не могу понять что я делаю не так |
|
|
Iron Bug |
![]()
Сообщение
#70
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
[Matrix] |
![]()
Сообщение
#71
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 14.9.2011 Пользователь №: 2872 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Если верить консоли (тестировал в линуксе обычную версию), грузить нужно
Осталось разобраться что делать в винде с sqlcipher'ом |
|
|
Iron Bug |
![]()
Сообщение
#72
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
тут нет загрузки какого-то расширения. тут только 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_* |
![]() ![]()
Сообщение
#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 |
![]()
Сообщение
#74
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
смотри логи конфирурации. там подробно пишутся команды и все проверки. найди, где падает и посмотри, что ему нужно.
|
|
|
Гость_Гость_Oleg_* |
![]()
Сообщение
#75
|
Гости ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 20.4.2025, 0:09 |