SQLite и криптография, например SQLCipher |
Здравствуйте, гость ( Вход | Регистрация )
SQLite и криптография, например SQLCipher |
512es |
17.9.2010, 15:10
Сообщение
#31
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
хмм.. а можно как то сделать патч SQLCipher'а, который накладывается на обычные сорцы склайта?
|
|
|
Гость_AlekseyK_* |
9.11.2010, 13:31
Сообщение
#32
|
Гости |
Вот появилось еще одно руководство по сборке 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 |
Ну оно не нагло скомунизденное, а дополненное, потому как в данном руководстве некоторые пункты были пропущены и неопытный человек, который MinGW не знает не смог собрать бы. Пусть так. Я на самом деле не против, да и ссылку на нас они приложили. Это просто первая реакция такая была Хотя о каких дополнениях вы говорите так и не понял. Собрал примерчик SQL Widget Mapper, всё работает, но... не шифрует ничего Просто так оно шифровать и не будет. query.exec("pragma key = 'password';"); сделали?Лучше всего проверить работоспособность при помощи sqlbrowser из демонстрационных примеров Qt |
|
|
AlekseyK |
9.11.2010, 14:25
Сообщение
#35
|
Студент Группа: Участник Сообщений: 22 Регистрация: 9.11.2010 Пользователь №: 2176 Спасибо сказали: 0 раз(а) Репутация: 0 |
Просто так оно шифровать и не будет. query.exec("pragma key = 'password';"); сделали? Конечно, я в Вашем примере принципиального ничего не менял (его пока тестирую):
Только попробовал 2 варианта:
Результат одинаков и SQLite свободно оба варианта читает. Лучше всего проверить работоспособность при помощи sqlbrowser из демонстрационных примеров Qt Что-то я такого не нашёл? И потом как он мне может помочь здесь? Шифрования нет. P.S. Прошу прощения, sqlbrowser я нашёл. P.P.S. SqlBrowser свободно читает "зашифрованный" файл. Вы саму сборку 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 |
Как её проверить? Ну как это как? Создать БД и посмотреть файл базы данных в любом текстовом редакторе. Там сразу видно, шифрованная она или нет. Главное про прагму не забудьте. А нужно это, для того что бы убедиться что с сама sqlcipher собрана и работает так как ожидается. Потом уже двигаться дальше и смотреть что не так с плагином для Qt или приложением Драйвер собрался, виден! Я говорю не про драйвер для 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 |
Я понял, проверил - не шифрует. Ну вот, значит проблема в самом sqlcipher. Она достаточно активно развивается. Возможно что то поломали в новой версии, я не в курсе. Попробуйте связаться с разработчиками http://groups.google.com/group/sqlcipher ОФФ: Ого. Почитал сейчас в google группе и сходил по ссылке (тык). В общем из-за того что народ мучается и не умеет собирать это дело под windows они начали продавать уже скомпилированную версию за 100 баксов. Фигасе Цитата Пересобрал, но всё равно не шифрует. Есть идеи? Больше нет. Либо что то изменилось с последнего момента как я её собирал, либо вы где то ещё ошиблись при сборке. Проверить сейчас возможности нет, нет винды на работе
|
|
|
Текстовая версия | Сейчас: 23.11.2024, 7:33 |