SQLite и криптография, например SQLCipher |
Здравствуйте, гость ( Вход | Регистрация )
SQLite и криптография, например SQLCipher |
[Matrix] |
17.4.2013, 17:37
Сообщение
#71
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 14.9.2011 Пользователь №: 2872 Спасибо сказали: 0 раз(а) Репутация: 0 |
Если верить консоли (тестировал в линуксе обычную версию), грузить нужно
Осталось разобраться что делать в винде с 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
|
Гости |
|
|
|
Текстовая версия | Сейчас: 16.11.2024, 4:32 |