Вверх ↑
Этот топик читают: Гость
Ответов: 655
Рейтинг: 18
#1: 2015-11-14 01:41:36 ЛС | профиль | цитата
Мод стандартного компонента SQLite_DB.

Многопоточность:

OpenF - создает, открывает бд в режиме FULLMUTEX. В данном режиме можно в разных потоках использовать одно соединение с БД, но все вызовы блокируют друг друга и обрабатываются последовательно.
OpenN - создает, открывает бд в режиме NOMUTEX. В данном режиме нельзя использовать одно соединение с базой для разных потоков, но допускается использование разных соединений для разных потоков.
Официальная документация: https://www.sqlite.org/threadsafe.html

Шифрование:

требуются библиотеки sqlite3.dll и libeay32.dll (обе в архиве).
Собраны из исходников sqlite cipher v 3.8.6 (брал отсюда https://www.zetetic.net/sqlcipher/), собирал из MinGW.

Использование шифрования:
При открытии БД первым запросом выполнить:

PRAGMA key="x'КЛЮЧ'";
PRAGMA cipher_page_size=4096;
PRAGMA cipher='aes-256-cfb';
PRAGMA cipher_use_hmac=ON;
(алгоритм AES и длинну ключа выбирайте сами, это всего-лишь пример!)

Пример:
Add(SQLite_DB,12203384,181,119)
{
FileName="cipher.db"
link(onOpen,10555857:doString,[])
}
Add(FormatStr,10555857,248,119)
{
DataCount=1
Mask="PRAGMA key="x'%1'";\r\nPRAGMA cipher_page_size=4096;\r\nPRAGMA cipher='aes-256-cfb';\r\nPRAGMA cipher_use_hmac=ON;\r\ncreate table test (id integer primary key autoincrement, data text);\r\n"
link(onFString,4553799:doExec,[])
link(Str1,10612213:Text,[])
}
Add(SQLite_Exec,4553799,308,119)
{
link(dbHandle,10748224:Var1,[(314,102)(156,102)(156,168)])
}
Add(Edit,10612213,248,50)
{
Left=19
Top=31
Width=158
Text=""
}
Add(Button,8560394,91,119)
{
Left=18
Top=67
Width=159
Caption="Создать БД"
link(onClick,12203384:doOpenF,[])
}
Add(Edit,15143416,78,181)
{
Left=20
Top=149
Width=156
Text="данные для шифрования"
link(onEnter,12377076:doString,[])
}
Add(SQLite_Query,12211252,181,188)
{
link(onQuery,10889112:doStr,[])
link(onError,9035173:doMessage,[(229,208)(229,251)])
link(dbHandle,10748224:Var2,[])
}
Add(GetDataEx,10748224,181,163)
{
link(Data,12203384:dbHandle,[])
}
Add(FormatStr,12377076,127,188)
{
DataCount=1
Mask="insert into test values (NULL,'%1');\r\nselect data from test where id=(select max(id) from test);"
link(onFString,12211252:doQuery,[])
}
Add(MT_String,10889112,244,188)
{
link(onResult,2869531:doMessage,[])
}
Add(Message,2869531,301,188)
{
}
Add(Label,3184047,140,35)
{
Left=18
Top=5
Width=158
Caption="Ключ для шифрования"
}
Add(Message,9035173,245,245)
{
}


полный перечень команд: https://www.zetetic.net/sqlcipher/sqlcipher-api/

Настройки sqlite3.dll по умолчанию.


PAGE_SIZE=8192
DEFAULT_CACHE_SIZE=8000
DEFAULT_TEMP_CACHE_SIZE=4000
SQLITE_MAX_PAGE_COUNT=2147483646
DEFAULT_WORKER_THREADS=10
SQLITE_MAX_WORKER_THREADS=300
SQLITE_THREADSAFE=1

Мод компонента + обновленные библиотеки: http://forum.hiasm.net/forum_serv.php?q=56&id=4073
карма: 0

2
Голосовали:Konst, Dseren
vip
#1.1контекстная реклама от партнеров
Ответов: 655
Рейтинг: 18
#2: 2017-02-03 10:07:45 ЛС | профиль | цитата
Свежие версии sqlite3.dll (3.11) и libeay32.dll (1.02.11).
http://forum.hiasm.com/getfile/38015

Добавлено:
Поддержка FTS3
Поддержка FTS4
Поддержка FTS5
Поддержка JSON
Настройки sqlite3.dll по умолчанию:

PAGE_SIZE=8192
DEFAULT_CACHE_SIZE=8192
DEFAULT_TEMP_CACHE_SIZE=4096
SQLITE_MAX_PAGE_COUNT=2147483646
DEFAULT_WORKER_THREADS=10
SQLITE_MAX_WORKER_THREADS=50
SQLITE_THREADSAFE=2
ENABLE_FTS3
ENABLE_FTS4
ENABLE_FTS5
ENABLE_JSON1
карма: 0

1
Голосовали:Konst
Ответов: 758
Рейтинг: 112
#3: 2017-04-12 21:09:34 ЛС | профиль | цитата
Gunnman, А для архитектуры х64 есть?
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#4: 2017-04-12 21:55:29 ЛС | профиль | цитата
3.18.0 http://www.sqlite.org/2017/sqlite-dll-win64-x64-3180000.zip
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 758
Рейтинг: 112
#5: 2017-04-15 23:05:09 ЛС | профиль | цитата
Tad, Со всем уважением, но я спрашивал про sqlite3.dll с возможностью шифрования и поддержкой libeay под х64
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#6: 2017-04-16 14:55:03 ЛС | профиль | цитата

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 655
Рейтинг: 18
#7: 2017-04-16 20:41:40 ЛС | профиль | цитата
miver, числа 19-20 попробую собрать x64, сейчас в командировке
карма: 0

0
Ответов: 758
Рейтинг: 112
#8: 2017-04-22 08:15:37 ЛС | профиль | цитата
Gunnman, получилось?
карма: 1

0
Ответов: 655
Рейтинг: 18
#9: 2017-05-01 17:48:09 ЛС | профиль | цитата
Пока нет...
карма: 0

0
Ответов: 704
Рейтинг: 7
#10: 2018-08-31 23:53:42 ЛС | профиль | цитата
Обновите ссылочку
карма: 0

0
Ответов: 17
Рейтинг: 4
#11: 2019-12-24 10:16:26 ЛС | профиль | цитата
Обновите пожалуйста, ссылка битая... Или может у кого осталась, поделитесь пожалуйста.
карма: 0

0
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)