(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Шифрование базы данных SQLite с помощью SQLCipher. Программирование / Delphi.

Источник: rgblog
Руслан Гайсин

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

Цель: Собрать из исходников SQLCipher библиотеку SQLite с AES-256 шифрованием под Windows.

1) Во первых нам понадобится кросс-компилятор на основе - MinGW + MSYS.

Скачать можно с официального сайта www.mingw.org, на момент написания статьи была доступна версия от 2 августа 2011. Дистрибутив под названием mingw-get-inst-20110802.exe.

Скачиваем и устанавливаем в папку D:\MinGW\ . При установке необходимо установить галочку на пункте "MiniGW Developer Toolkit".

2) Библиотека шифрования из OpenSSL. Через поиск гугл, сразу нашел установщик под название Win32OpenSSL-0_9_8m.exe. При установке указываем, что хотим установить библиотеки в туже папку, в подпапку /bin . Устанавливаем в папку D:\OpenSSL\.

3) Скачиваем библиотеку инструментов Tcl/Tk. Я нашел версию 8.4.1-1 (сборка для MinGW). Файл называется tcltk-8.4.1-1.exe. При установке указываем путь к MiniGW, в нашем случае D:\MinGW\.

4) Находим файл D:\MinGW\bin\tclsh84.exe и переименовываем в tclsh.exe.

5) Скачиваем SQLCipher с официального сайта sqlcipher.net. Нашел у них последнюю бета-версию 1.1.8-19. После скачивания архива, разархивируем его в папку D:\SqlCipher\.

6) Запускаем MSYS, он находится по адресу D:\MinGW\msys\1.0\msys.bat.

7) Выполняем следующие команды в MSYS:

а) переход в папку SqlCipher

cd /d/SqlCipher/

б) настраиваем библиотеку

./configure --disable-tcl --disable-amalgamation CFLAGS="-DSQLITE_HAS_CODEC -I/d/OpenSSL/include /d/OpenSSL/libeay32.dll -L/d/OpenSSL/lib/MinGW" LDFLAGS="-leay32"

в) компилируем

make

г) создаем нашу dll

make dll

Теперь при создании проекта, нам понадобятся две библиотеки dll.

sqlite3.dll - находится в папке D:\SqlCipher\sqlite3.dll

libeay32.dll - находится в папке D:\OpenSSL\libeay32.dll

Теперь при создании проекта, например в Delphi, эти два файла нужно будет скопировать в папку с проектом. Как эти библиотеки использовать мы рассмотрим в следующей статье.

Скачать полученную библиотеку можно по ссылке ниже.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Embarcadero »
Написать редактору 
 Рекомендовать » Дата публикации: 22.07.2013 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Enterprise Connectors (1 Year term)
ESET NOD32 Cyber Security for MAC  - лицензия для 1 ПК на 1 год
Купить WinRAR : 5 : Академическая лицензия 1 лицензия
ARCHICAD 21, локальная лицензия на 12 месяцев
ABBYY FineReader 14 Standard Full
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Программирование в AutoCAD
СУБД Oracle "с нуля"
Delphi - проблемы и решения
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Отличается ли ДрифтКазино от беттинга? (9)
Друзья, давно заметил, что на Дрифте уже несколько месяцев во всю рекламируется и предлагается...
 
Windows 10 загружен процессор (2)
Добрый день! На рабочем ПК Windows 10, компьютер тормозит, в диспетчере задач выдает что диск...
 
ErWin to Access Relation Error (2)
Всем привет! ErWin при попытке генерации в Ассеss выдаёт: ERwinDatabase.Relations.Append...
 
Помощь по MS Access (331)
Доброе время суток. Случайно оказался на этом сайте, искал статьи по OLAP. Вижу, что...
 
Смена типа уровня модели (1)
Здравствуйте. При запуске программы выбрал уровень "Логический" вместо "Логический и...
 
 
 



    
rambler's top100 Rambler's Top100